js字符串编码和unicode编码互转
//字符串编码转为unicode编码
function charToUnicode(str) {
let temp;
let i = 0;
let r = '';
for (let val of str) {
temp = dePointAt(0).toString(16);
while ( temp.length < 4 )
temp = '0' + temp;
r += '\\u' + temp;
};
return r;
js在字符串中添加字符}
//unicode编码转为字符串编码
function unicodeToChar(str){
//⽅案⼀
return eval("'" + str + "'");
//⽅案⼆
return place(/\u/g, "%u"));
}
//js获取字符串长度(字符真实个数)
/
/由于es5之前都将此类四个字节组成的字符" "(" ".length == 2)处理成2个长度,所以使⽤"for of"⽅法可以正确遍历字符串的长度
function getLength(str){
let length = 0;
for(let val of str){
length++
}
return length
}
//codePointAt⽅法是测试⼀个字符由两个字节还是由四个字节组成的最简单⽅法。
function is32Bit(c) {
dePointAt(0) > 0xFFFF;
}
is32Bit(" ") // true
is32Bit("啊") // false
is32Bit("a") // false
//实际使⽤中,⼀般设计会认为中⽂字符如'啊','哦','额',','等理解为为两个长度,英⽂字符和数字如'a','1',','等理解为为⼀个长度,所以此⽅法可以获取他们认为的字符串长度(注意,不是字符串的真是长度,只是设计师理解的长度)function getViewLength(str){
let length = 0;
for (let c of str){//注意使⽤for of可以正确的遍历字符串的长度,⽽其他⽅法会将" "当成两个长度遍历
dePointAt(0) > 0x00FF){length = length + 2}//不管是两个字节的字符如'啊',还是四个字节的字符' ',都'当成'是属于两个字符长度的范围
' else{length++} } return length }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。