我是 javascript 的新手,对它的 unicode 处理没有很好的掌握。如果我理解正确的话,它有点像 C/C++,其中一个字符串包含一个没有任何编码信息的二进制序列。
当我使用类似var str=window.getSelection().toString()
获取突出显示的文本时,生成的字符串是否与网页具有相同的编码?如果是这样,找出该编码并将其转换为unicode(例如UTF8)的最佳方法是什么?
我是 javascript 的新手,对它的 unicode 处理没有很好的掌握。如果我理解正确的话,它有点像 C/C++,其中一个字符串包含一个没有任何编码信息的二进制序列。
当我使用类似var str=window.getSelection().toString()
获取突出显示的文本时,生成的字符串是否与网页具有相同的编码?如果是这样,找出该编码并将其转换为unicode(例如UTF8)的最佳方法是什么?
Javascript 中的字符串不像 C 或 PHP 中的“字符串”,它们实际上是字节数组并且具有编码语义。Javascript 中的字符串与此完全不同,类似于 Java/C# 或 Python 的 unicode 类型中的字符串。
它们是抽象字符的字符串,至少如果您不尝试使用非 BMP 字符。在实践中,您不必担心这一点,我只是为了完整性而提及它。
如上所述,var str=window.getSelection().toString()
没有任何编码语义,它只是一个被选择的字符的字符串。您没有在问题中说明任何实际问题,但是如果您想知道“特殊”字符是否只能在 Javascript 中工作,那么它们确实可以工作。