From fc8815580ab47b0532d902cffeb6e70b2fe15ed9 Mon Sep 17 00:00:00 2001 From: ruanyf Date: Fri, 12 Sep 2014 10:20:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=97=E7=AC=A6=E4=B8=B2?= =?UTF-8?q?=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/string.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/string.md b/docs/string.md index f027f91..1b59e2e 100644 --- a/docs/string.md +++ b/docs/string.md @@ -18,7 +18,7 @@ s.charCodeAt(1) // 57271 ``` -上面代码中,汉字“𠮷”的Unicode编号是0x20BB7,需要4个字节储存。对于这种4个字节的字符,JavaScript不能正确处理,字符串长度会误判为2,而且charAt方法无法读取字符,charCodeAt方法只能分别返回前两个字节和后两个字节的值。 +上面代码中,汉字“𠮷”的Unicode编号是0x20BB7,UTF-16编码为0xD842 0xDFB7(十进制为55362 57271),需要4个字节储存。对于这种4个字节的字符,JavaScript不能正确处理,字符串长度会误判为2,而且charAt方法无法读取字符,charCodeAt方法只能分别返回前两个字节和后两个字节的值。 ES6提供了codePointAt方法,能够正确处理4个字节储存的字符,返回一个字符的Unicode编号。