JavaScript Unicode字符操作
charCodeAt() 方法
定义和用法
charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。
stringObject.charCodeAt(index) //index 必需。表示字符串中某个位置的数字,即字符在字符串中的下标。
提示和注释
注释:字符串中第一个字符的下标是 0。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。
// 将字符串,转换成 Unicode 值 var str = "a Hello world!"; var number = str.charCodeAt(0); console.info(number); //输入结果 97 // 将字符串 转换成 Unicode 值数组 var array = new Uint16Array(str.length); for (var i = 0; i < str.length; i++) { array[i] = str.charCodeAt(i); } console.info(array); //[97, 32, 72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33]
String.fromCharCode() 方法
定义和用法
fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。
语法
String.fromCharCode(numX,numX,...,numX) //numX 必需。一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码。
提示和注释
注释:该方法是 String 的静态方法,字符串中的每个字符都由单独的数字 Unicode 编码指定。
它不能作为您已创建的 String 对象的方法来使用。因此它的语法应该是 String.fromCharCode(),而不是 myStringObject.fromCharCode()。
// Uncode 值,转换成 字符串 var str1 = String.fromCharCode(72, 69, 76, 76, 79); console.info(str1); // HELLO var str2 = String.fromCharCode(65, 66, 67); console.info(str2); // ABC // 将Unicode 值数组(TypeArray) 转换成 字符串 var array = new Uint16Array([97, 32, 72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33]); var str = ''; for (var i = 0; i < array.length; i++) { str += String.fromCharCode(array[i]); } console.info(str); // a Hello world! //var chars = []; //for (var i = 0; i < array.length; i++) { // chars[i] = String.fromCharCode(array[i]); //} //console.info(chars);