Perl中的chr()函数和JavaScript中的String.fromCharCode()函数

时间:2016-06-30 09:26:18

标签: javascript perl unicode utf-8

在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中的输出相同。

2 个答案:

答案 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