在core.quotepath = on
魔神転生2.CT
将转换为\351\255\224\347\245\236\350\273\242\347\224\2372.CT
如何在perl或nodejs上解码/编码?
为什么我要这样做?
我有一个旧的perl脚本git
但是当我使用core.quotepath = off
我的perl脚本无法处理unicode
它将变为擳?頠Y?2.CT
或矇簫?癟瞼?癡罈瞽癟??2.CT
在nodejs utf8运行良好,但不知何故,当我执行一些git cmd时它会失败
喜欢git commit -m . --dry-run --short
答案 0 :(得分:0)
node.js Unicode
有一个很棒的插件# debian
sudo apt-get install unicode-data # optional
# gentoo
sudo emerge unicode-data # optional
npm install unicode
答案 1 :(得分:0)
s{\\(\d{3})}{ chr(oct($1)) }eg
。结果是UTF-8。如果您需要Unicode代码点,请使用decode_utf8
。
您可能还需要处理其他转义序列。
my %escapes = (
"n" => "\n",
"r" => "\r",
# ...
);
s{\\(?:([0-7]{3})|(\W)|(\w))}{
defined($1) ? chr(oct($1)) :
defined($2) ? $2 :
$escapes{$3} // do { warn("Unrecognized escapes \\$3"); "\\$3" }
}seg;