javascript - 为什么 Whatsapp 和 Javascript 返回相同 unicode 字符串的不同长度?
问题描述
有问题的unicode字符串:
ਪਹਿਲਾਂ ਲੋਕਾਂ ਦੇ ਦਿਲਾਂ ਦਿਮਾਗ਼ਾਂ ਚੋਂ ਇਹ ਵਹਿਮ ਕੱਢੋ ਕਿ
ਅਸੀਂ ਹਿੰਦੂ ਹਾਂ,
ਅਸੀਂ ਸਿੱਖ ਹਾਂ,
ਅਸੀਂ ਮੁਸਲਮਾਨ ਹਾਂ,
ਅਸਲੀਅਤ ਇਹ ਹੈ ਕਿ
ਅਸੀਂ ਭੁੱਖੇ ਹਾਂ,
ਅਸੀਂ ਬੇਰੁਜ਼ਗਾਰ ਹਾਂ,
ਅਸੀਂ ਨਸ਼ੇੜੀ ਹਾਂ,
ਅਸੀਂ ਲਾਚਾਰ ਹਾਂ,
ਅਸੀਂ ਬੇਵਕੂਫ਼ ਹਾਂ,
ਅਸੀਂ ਬੀਮਾਰ ਹਾਂ,
语言:旁遮普语
格式:Unicode
问题:
Javascript 报告它的str.length() =
226;而WhatsApp说700 Characters
。
Javascript代码:
console.log(inputStr.length);
Whatsapp 截图 01:
很好,没有错误:(计数为 698 或 699)
- 为什么字符串长度有很大的不匹配?
- 哪个数字是真实的?
- 如何在 Javascript 中获得与 Whatsapp 结果相同的类似结果?
解决方案
这似乎是 Whatsapp 的错误。如果您尝试使用换行符输入文本,您会发现在第 15 行会出现超过 700 个字符的错误,无论当前字符数是多少。
如果您尝试在没有换行符的情况下放置字符串,它将起作用并且不会显示超过 700 个字符的消息(如下图所示)
正确的长度是 226 的 javascript 字符串长度。
推荐阅读
- javascript - 如何让黄瓜在 selenium nightwatch 框架中运行
- r - 如何将函数应用于许多 ML 模型并保存它们的输出?
- c - 如何将 Windows 消息从一个线程传递到另一个线程?
- python - Kivy 应用程序在运行时抛出 context_intructions.so 错误
- java - 如何在我的演示代码中访问以下方法“addPoints()”和“getScores()”
- laravel - Laravel 中实现的 SQL 连接和查询在哪里?
- java - Java比较对象列表以查找重复项并将它们放入新列表中
- ffmpeg - 是否可以对具有确切长度(到毫秒)的音频流进行编码?
- swift - 打开基于 NSDocument 的应用程序会加载两个窗口
- mongodb - 有没有办法使用 Docker Container IPs 变量?