Hello!
2013/4/20 liyang1:
> 各位好:
> 如题,我现在遇到了这样问题:
> 我通过ngx.req.read_body() local req_body = ngx.req.get_body_data()
> 获取到了客户端post来的数据,数据表示为16进制格式,通过lua的bitop库,我可以把这些数据表示为byte数组,
> 最终我需要将这些数据转为utf-8编码的中文,我应该怎么做呢?
你可以使用 string.char() 直接把 byte 数据转换为 lua 字符串,例如在命令行上尝试
$ lua -e 'bytes = {231, 171, 160} print(string.char(unpack(bytes)))'
章
进一步地,你接收到的原始数据使用的是何种字符编码?GBK?还是其他?如果字符编码不一致,你总是可以使用 lua-iconv
这样的库从其他字符编码转换到 UTF-8.
Regards,
-agentzh