将 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 编码》

results matching ""

    No results matching ""