以前にやったことがありますが、方法がわからないため、ソースファイルを失ってしまいました。
Luaでキャラクターのコードポイントを取得するにはどうすればよいですか?または、少なくとも、キャラクターの一意の値ですか?
Lua 5.3では、utf8.codepointを使用してUTF-8文字列のコードポイントを取得できます。
print(utf8.codepoint("瑞"))
--29790
ASCII文字列の場合は簡単です。
local char_code = string.byte("A",1);
-- char_code now contains 65
UTF-8の場合(これがデータの表現方法であると仮定して)、注意が必要です。slnunicodeなどのサードパーティライブラリを使用するか、UTF-8バイトをパスするために独自の関数を作成する必要があります。
LuaインストールにはすでにValidateUnicodeString拡張機能が含まれている可能性があります。これにより、これが機能します。
local char_code = string.utf8code("ٱ");
-- char_code now contains 1649
(この例には、アラビア語のAlef Waslaが含まれていますが、ローカルフォントでは正しく表示されない場合があります)
あなたが望むものをあなたに与えるかもしれないいくつかの答えがあります(あなたがUTF8に自分自身を制限するならば):