【GDevelop】Unicode (UnicodeConversion) 拡張機能の使い方
Unicode (UnicodeConversion) 拡張機能は、文字列を数字(Unicode のコードポイント)に変えてくれる拡張機能です。
もちろんその逆、数字を文字列に戻すこともできます。
この拡張機能の活用例については「セーブデータは暗号化しよう!」をご覧ください。
拡張機能をインストールする方法については「新しい拡張機能のインストールの仕方」をご覧ください。
執筆時点のバージョンは 1.0.4 です。
関数
インストールすると、文字列式(テキスト式)で以下のような関数が選択できるようになります。
それぞれざっくりと説明すると……
Reverse the unicode of a string
文字列を数字化した上で反転して、また文字列に戻します。
例えば「abc」を渡すと「6&」が返されます。
これは「abc」を数字化して「61 62 63」とし、それを反転して「36 26 16」とし、そこから文字列化すると「6&」になるためです。
そのため、逆に「6&」を渡すと「abc」が返ってきます。
なお、一部の漢字や絵文字などは正しく処理できません。
確実に機能させたい場合は、半角英数字(記号含む)のみで利用しましょう。
String to unicode conversion
文字列を数字化します。(文字をコードポイントに変換します)
ただし、返される値のデータ型は文字列(テキスト)である点に注意してください。
例えば "61,62,63" というような数字が書いてある文字列です。
この関数は、漢字や絵文字なども正しく処理できます。
Unicode to string
数字を文字列化します。(コードポイントを文字に変換します)
ただし、渡す値のデータ型は文字列(テキスト)である点に注意してください。
例えば "61,62,63" というような数字が書いてある文字列です。
この関数は、漢字や絵文字なども正しく処理できます。
関数のパラメーターについて
少し専門的な知識が必要なパラメーターがあるので、簡単に説明します。
「Reverse the unicode of a string」のパラメーター
文字列を数字化した上で反転して、また文字列に戻す「Reverse the unicode of a string」のパラメーターは次のようになっています。
「String to reverse」は変換したい文字列を入力します。
ただし、上記したとおり一部の漢字や絵文字などは、正しく処理できない場合があるので、入力する文字列には注意する必要があります。
「Base of the reverse」は、数字化する際に何進数にするかを入力します。
2 から 36 までの整数が利用でき、初期値は 2 、つまり 2 進数です。
なお、どうやら 2 進数か 16 進数でなければ、正しく処理されないようです。
「Range of unicode characters」は、1文字を数字化した際に何桁になるかを入力します。
Base of the reverse の値によって入力すべき値が変わります。
2 進数なら 16、16 進数なら 4、といった具合に入力します。
「String to unicode conversion」のパラメーター
文字列を数字化する「String to unicode conversion」のパラメーターは次のようになっています。
「The string to convert to unicode」には数字化したい文字列を入力します。
「Base」は、数字を何進数で表すかを入力します。
2 から 36 までの整数が利用できます。
画像では 16 、つまり 16 進数を入力しています。
「Seperator text (Optional)」は、各数字を区切る文字列です。
数字に使用されない文字にする必要があります。
例えば 16 進数の場合、0 から 9 だけでなく a から f も使用されるので、それ以外の文字列にしましょう。(というか記号を推奨)
画像ではカンマにしています。
「Unicode to string」のパラメーター
数字をテキストに戻す「Unicode to string」のパラメーターは次のようになっています。
「The unicode to convert to String」には数字化された文字列を入力します。
「Base」は、数字が何進数で表されているのかを入力します。
2 から 36 までの整数が利用できます。
当然、数字化した時と同じにしなければ、正しく変換されません。
「Seperator text (Optional)」は、各数字を区切っている文字列です。
当然、数字化した時と同じにしなければ、正しく変換されません。
コメント
コメントを投稿