You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lua 5.2环境下纯Lua实现文本转UTF-8十六进制编码字符串方案咨询

纯Lua 5.2实现文本转\x格式UTF-8编码字符串方案

实现思路

  • Lua 5.2的字符串本质是字节序列,若输入本身为UTF-8编码的文本,直接遍历每个字节转换为两位小写十六进制,拼接\x前缀即可
  • 仅使用原生标准库接口,无任何第三方依赖

完整实现代码

-- 输入:UTF-8编码的文本字符串
-- 输出:格式为\xHH的十六进制编码字符串,HH为对应字节的两位十六进制小写
function string_to_utf8_hex(input_str)
    local hex_parts = {}
    for i = 1, #input_str do
        -- 读取每个字节的数值,格式化后存入表
        table.insert(hex_parts, string.format("\\x%02x", string.byte(input_str, i)))
    end
    return table.concat(hex_parts)
end

-- 测试用例
local test_input = "hey this is sam this side"
local output = string_to_utf8_hex(test_input)
print(output)

输出验证

运行上述代码会直接输出要求的结果:

\x68\x65\x79\x20\x74\x68\x69\x73\x20\x69\x73\x20\x73\x61\x6d\x20\x74\x68\x69\x73\x20\x73\x69\x64\x65

注意事项

  • 该实现默认输入文本已经是UTF-8编码的字节序列,如果输入是其他编码(如GBK)需要先做编码转码,纯Lua实现跨编码转码需要自行实现对应编码的映射逻辑
  • 若需要大写十六进制输出,将代码中的%02x改为%02X即可

内容的提问来源于stack exchange,提问作者ayush jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:54:04