1

以前にやったことがありますが、方法がわからないため、ソースファイルを失ってしまいました。

Luaでキャラクターのコードポイントを取得するにはどうすればよいですか?または、少なくとも、キャラクターの一意の値ですか?

4

3 に答える 3

3

Lua 5.3では、utf8.codepointを使用してUTF-8文字列のコードポイントを取得できます。

print(utf8.codepoint("瑞"))
--29790
于 2015-01-14T11:18:54.133 に答える
2

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が含まれていますが、ローカルフォントでは正しく表示されない場合があります)

于 2012-11-27T06:18:19.583 に答える
1

あなたが望むものをあなたに与えるかもしれないいくつかの答えがあります(あなたがUTF8に自分自身を制限するならば):

于 2012-11-27T06:36:16.267 に答える