gpt4 book ai didi

vim - 将转义的代码点转换为 unicode 字符

转载 作者:行者123 更新时间:2023-12-04 12:08:40 24 4
gpt4 key购买 nike

我正在尝试获取一大块 JSON,其中包含包含文字字符的字符串 \u009e我想将这些字符转换为其关联的单个 unicode 字符,在本例中为 é .

我使用 curl 或 wget 下载 json,它看起来像:

{ "name": "Kitsun\u00e9" }

并且需要在 Vim 中将其翻译为:
{ "name": "Kitsuné" }

我的第一个想法是使用 Vim 的 iconv,但它不会将字符串评估为单个字符,而只是返回输入。
let code = '\u00e9'
echo iconv(code, "UTF-8", "UTF-8")
" Prints \u00e9

我想最终使用类似的东西
%s;\\u[0-9abcdef]*;\=iconv(submatch(0),"UTF-8", "UTF-8");g

最佳答案

此行适用于您的示例:

s#\\u[0-9a-f]*#\=eval('"'.submatch(0).'"')#

或者
s#\v\\u([0-9a-f]{4})#\=nr2char(str2nr(submatch(1),16))#

关于vim - 将转义的代码点转换为 unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21076598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com