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);

 

posted @ 2016-09-02 14:38  天马3798  阅读(506)  评论(0编辑  收藏  举报