首页 > 解决方案 > 如何在Julia中将字符串编码为unicode?

问题描述

当我们使用 JSON.json(Dict("text"=>"我能吞下玻璃而不伤身体"))

我们得到了这个:{"text":"我能吞下玻璃而不是伤身体"}

但我们想要的可能是:

{“文本”:“\u6211\u80fd\u541e\u4e0b\u73bb\u7483\u800c\u4e0d\u4f24\u8eab\u4f53”}

未找到如何在 pkg JSON 或 Unicode 中执行此操作...

julia> json(

json(a) in JSON.Writer at /home/user/.julia/packages/JSON/ebvl3/src/Writer.jl:354

json(a, indent) in JSON.Writer at /home/user/.julia/packages/JSON/ebvl3/src/Writer.jl:355

标签: jsonjulia

解决方案


这是你想要的?

julia> s2u(s::AbstractString) = join(["\\u"*string(Int(c), base=16, pad=4) for c in s])
s2u (generic function with 1 method)

julia> s2u("我能吞下玻璃而不伤身体")
"\\u6211\\u80fd\\u541e\\u4e0b\\u73bb\\u7483\\u800c\\u4e0d\\u4f24\\u8eab\\u4f53"

julia> println(s2u("我能吞下玻璃而不伤身体"))
\u6211\u80fd\u541e\u4e0b\u73bb\u7483\u800c\u4e0d\u4f24\u8eab\u4f53

推荐阅读