GBK エンコードのテキストを UTF-8 エンコードのテキストに変換する (string.from_gbk)
宣言
変換後のテキスト = string.from_gbk(GBK エンコードのテキスト)
パラメータ
- GBK エンコードのテキスト
文字列型。UTF-8 エンコードに変換する GBK エンコードのテキストです
戻り値
- 変換後のテキスト
文字列型または nil。UTF-8 エンコードのテキストを返します。エンコードエラーにより変換を完了できない場合は nil を返します
説明
GBK エンコードのテキストを UTF-8 エンコードのテキストに変換します
入力自体のエンコードが正しくない場合でも、関数は対応表に従ってバイト変換を行います。出力が文字化けしても関数の問題ではありません
より複雑なエンコード変換が必要な場合は、luaiconv(エンコード変換ライブラリ) を参照してください
注:GBK エンコードには GB2312 エンコードが含まれるため、GB2312 テキストもこの関数で変換します
使用例
-- 中国語エンコード 中国語標準エンコード 国家標準拡張エンコード GB2312
gbkstr = '\x58\x58\x54\x6f\x75\x63\x68\x20\xba\xdc\xc7\xbf'
--
sys.alert(gbkstr) -- GBK エンコードの文字列は表示できません
sys.alert(string.from_gbk(gbkstr)) -- "XXTouch 很强" を出力
注記:上記のコードでは、本章で扱っていない関数 sys.alert を使用しています
説明:Lua ソースコードでは、文字列内で \x に続く二桁の 16 進数は、その数値でエンコードされた単一のバイトを表します。たとえば、\x58 は文字 X を表します。印刷可能文字については、『ASCII コード』を参照してください