Javascript utf-8 substr 和长度函数

标签 javascript internationalization

我正尝试在像 हिन्दी 这样的 UTF-8 字符串上做一个 substr。

问题是它变得完全搞砸了=> 最后有一些奇怪的盒子(这里没有显示,虽然我复制粘贴了)(它有点像 [00 02]):हिन...

好的,这是使用 substr 函数后的样子:

alt text http://img27.imageshack.us/img27/765/capturexv.png

想知道是否有一些功能可以解决这个问题? 至少我想删除那个有趣的盒子。

感谢您的宝贵时间。

最佳答案

JavaScript 使用 UTF-16 对字符串进行编码,这意味着基本多语言平面之外的字符必须表示为代理项对。在这样的一对中间拆分一个字符串可能会解释您的结果。

据我了解wikipedia article ,您必须检查最后一个字符是否在 0xD800–0xDBFF 范围内,如果是,则将其删除或将以下字符(应在 0xDC00-0xDFFF 范围内)添加到子字符串。

关于Javascript utf-8 substr 和长度函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1513102/

相关文章:

javascript - 在 Angular JS 中打开特定列表

javascript - 你能使用 React 来执行 Rails Controller 操作吗?

javascript - RefineSlide 未显示在网站上

internationalization - 如何为 wix Bootstrap 进行国际化

delphi - 如何获取Delphi资源字符串的字符串表资源id?

动态内容的 Symfony 翻译

javascript - 衡量时间流逝的脚本?

javascript - 使用 johnpapa vm 风格的 Angular Bootstrap 模态的单元测试解析

ruby-on-rails - 如何拆分 en.yml 文件?

java - 服务器端的 GWT I18N