【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)」は、各数字を区切っている文字列です。
当然、数字化した時と同じにしなければ、正しく変換されません。

コメント

このブログの人気の投稿

ブラウザ上で動く GDevelop オンライン版を試してみた感想

GDevelop の「イベント」を正しく理解しよう

4ian 氏が Google 辞めて GDevelop に全振りする件