在Perl中我使用的是chr()函数。如果我的值是lees而不是0,我将值加256并使用chr()函数。例如。 对于-97值,我添加256,并执行chr(159),我得到Ÿ字符。
现在我必须在JavaScript中使用它。
我得到-97并且如果我向它添加256并执行String.fromCharCode(159)我得到一个空白字符而不是如果我执行String.fromCharCode(376)我得到Ÿ字符与的Perl。
有什么区别和有什么区别?我应该在JavaScript中使用什么?
在JavaScript中,正数和加上256后的数字小于256,Perl和JavaScript中的输出相同。
答案 0 :(得分:1)
String.fromCharCode
将Unicode代码点作为其参数。 U + 178(十进制376)是Ÿ。
Perl的chr
使用您的程序运行的字符集。
答案 1 :(得分:0)
您的Perl在cp1252环境中运行,而JavaScript在UTF-8中运行。对我来说,我来自
perl -e 'print chr 376'
有关编码和JavaScript的讨论,请参阅https://mathiasbynens.be/notes/javascript-encoding。