Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Whatsapp&;Javascript返回相同unicode字符串的不同长度?_Javascript_Whatsapp_String Length - Fatal编程技术网

Whatsapp&;Javascript返回相同unicode字符串的不同长度?

Whatsapp&;Javascript返回相同unicode字符串的不同长度?,javascript,whatsapp,string-length,Javascript,Whatsapp,String Length,有问题的unicode字符串: ਪਹਿਲਾਂ ਲੋਕਾਂ ਦੇ ਦਿਲਾਂ ਦਿਮਾਗ਼ਾਂ ਚੋਂ ਇਹ ਵਹਿਮ ਕੱਢੋ ਕਿ ਅਸੀਂ ਹਿੰਦੂ ਹਾਂ, ਅਸੀਂ ਸਿੱਖ ਹਾਂ, ਅਸੀਂ ਮੁਸਲਮਾਨ ਹਾਂ, ਅਸਲੀਅਤ ਇਹ ਹੈ ਕਿ ਅਸੀਂ ਭੁੱਖੇ ਹਾਂ, ਅਸੀਂ ਬੇਰੁਜ਼ਗਾਰ ਹਾਂ, ਅਸੀਂ ਨਸ਼ੇੜੀ ਹਾਂ, ਅਸੀਂ ਲਾਚਾਰ ਹਾਂ, ਅਸੀਂ ਬੇਵਕੂਫ਼ ਹਾਂ, ਅਸੀਂ ਬੀਮਾਰ ਹਾਂ, 语言:旁遮普

有问题的unicode字符串:

ਪਹਿਲਾਂ ਲੋਕਾਂ ਦੇ ਦਿਲਾਂ ਦਿਮਾਗ਼ਾਂ ਚੋਂ ਇਹ ਵਹਿਮ ਕੱਢੋ ਕਿ 
ਅਸੀਂ ਹਿੰਦੂ ਹਾਂ,
ਅਸੀਂ ਸਿੱਖ ਹਾਂ,
ਅਸੀਂ ਮੁਸਲਮਾਨ ਹਾਂ,
ਅਸਲੀਅਤ ਇਹ ਹੈ ਕਿ 
ਅਸੀਂ ਭੁੱਖੇ ਹਾਂ, 
ਅਸੀਂ ਬੇਰੁਜ਼ਗਾਰ ਹਾਂ, 
ਅਸੀਂ ਨਸ਼ੇੜੀ ਹਾਂ, 
ਅਸੀਂ ਲਾਚਾਰ ਹਾਂ, 
ਅਸੀਂ ਬੇਵਕੂਫ਼ ਹਾਂ, 
ਅਸੀਂ ਬੀਮਾਰ ਹਾਂ, 
语言:旁遮普
格式:Unicode

问题:
Javascript报告它的
str.length()=
226;而WhatsApp
700个字符

Javascript代码:

console.log(inputStr.length);
Whatsapp截图01:
很好,没有错误:(在698或699处计数)

只需从移动键盘添加一个新行,它就超过700个

  • 为什么字符串长度有很大的不匹配
  • 哪个数字是真的
  • 如何在Javascript中获得与Whatsapp结果类似的结果
  • 这似乎是Whatsapp的一个bug。如果您尝试输入带有换行符的文本,您会发现在第15行,无论当前字符数是多少,都会出现超过700个字符的错误

    如果您尝试放置不带换行符的字符串,它将起作用,并且不会显示超过700个字符的消息(如下图所示)

  • 正确的长度是javascript字符串长度226


  • 这可能是因为“长度”的计算方式。旁遮普语和其他任何“外语”一样,是基于unicode的。unicode并没有固定的字符存储长度。unicode字符的长度介于1字节到4字节之间。例如,角色的ਕਿ' 看起来是单个的,但可能需要4个字节


    查看帖子了解更多详细信息。

    关于第15行新行,您是正确的,Whatsapp中没有任何其他内容给出“700字符”错误。您是正确的,但只需提及
    ਕਿ是/是两个字母,特别是一个元音和一个字母。在旁遮普语中,AEIOU和其他元音不是字母;只需在常规常量字母上添加额外符号。所以
    ਕਿ是Ki&`ਕ' 完全理解(特别是来自马拉地语背景)。然而,Unicode不是这样工作的。查看计算unicode长度的链接。人物ਕਿ 有两个字符,但需要6个字节。