Javascript 如何编写与PHP';s chr()函数?

Javascript 如何编写与PHP';s chr()函数?,javascript,php,char,negative-number,chr,Javascript,Php,Char,Negative Number,Chr,如何在javascript中模拟这一点? 这只是一个例子。我想用PHP编写与chr()完全相同的javascript函数。我试过了,但没有完全起作用。Phps chr()acceps值在0到255之间。否则,它将按位并与255“相加” 看 如果您想模拟此功能,请创建如下函数: � urlencode(chr(-77))结果显示%B3,或十进制显示177。177+77是256,所以这看起来只是在0到255的有效范围内“环绕”而已。我想要的是一个javascript函数,它的工作原理与PHP中的c

如何在javascript中模拟这一点? 这只是一个例子。我想用PHP编写与chr()完全相同的javascript函数。我试过了,但没有完全起作用。

Phps chr()acceps值在0到255之间。否则,它将按位并与255“相加”

如果您想模拟此功能,请创建如下函数:


urlencode(chr(-77))
结果显示
%B3
,或十进制显示177。177+77是256,所以这看起来只是在0到255的有效范围内“环绕”而已。我想要的是一个javascript函数,它的工作原理与PHP中的chr()相同。它对于否定参数也必须很好地工作。我尝试了我的方法,也检查了这里的一些类似的文章,但效果不好。也许可以尝试通过查看不作为无效unicode字符显示的输出来解决问题。例如,
chr(-200)
获取
8
,与
chr(65)
(支持我前面所说的,这似乎只是在0到255范围内)相同,等价于
String.fromCharCode(56)
。这与php.chr()中的chr()类似,但没有返回相同的结果仅接受0到255之间的值。请看,超出该范围的每个值(例如(-77)都将返回该符号…@JakobHeltzig不是真的,请尝试
chr(-200)
,您将得到
8
-与
chr(56)
(这就是为什么我一直说的,这似乎只是在0到255范围内循环…)您完全正确。我调整了我的答案…php_char(-77)返回3,php返回中的chr(-77)�
function php_char(codepoint)
{
   if (codepoint > 255 || codepoint < 0) {
       while (codepoint < 0) {
          codepoint += 256;
       }
       codepoint %= 256;
   }

   if (codepoint > 127) {
      return "�";
   }
  
   return  String.fromCharCode(codepoint);
}
php_char(-200) // will return 8
php_char(-77) // will return �