字符串
Posted lyralee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串相关的知识,希望对你有一定的参考价值。
1.写法
字符串可以使用单引号或者双引号。多数JS项目约定使用单引号(‘)。
可以用单引号包含双引号,也可以用双引号包含单引号。
‘ab"c"dd‘或者"abc‘d‘e"
如果想单引号包含单引号,或者双引号包含双引号,需要使用转义符号:
‘abc\\‘de‘ // abc‘de "abc\\"de" // abc"de
如果想写长字符串,不能直接换行,会报错,有2种常见写法。
var str = "Hello world, I‘m Lyra"; // 如果想分行写 // 1)在最后加\\ var str = "Hello world,I‘m Lyra"; // 2) 使用+拼接字符
如果想保留书写格式,使用模版字符串。
var str = ` a b `
2.字符的Unicode码表示
1)\\HHH 三位8进制数
2)\\xHH 两位16进制数
3)\\uHHHH 四位16进制数
// 示例:版权符号 ‘\\251‘ // ©? ‘\\xA9‘ // ©? ‘\\u00A9‘ // ©?
js引擎内部每个字符都是utf-16格式,16位存储(2个字节)。但是对于超过\\u0000-\\uFFFF范围的字符来说,
js会将其分成两个字符(4个字节)。str.length的长度为2.
3. Base64编码
Base64,顾名思义,就是基于64个字符。就是将任意值转为0-9,A-Z,a-z,+,/这64个字符组成的可打印字符。
用途:1)显示特殊字符,比如ASCII码的前31位。2)将二进制数据(比如图片)转为文本
有两个方法:
btoa(str); // 转为Base64 atob(str); // 从Base64转为原来的值
上面的方法仅适用于ASCII码,对于诸如汉字等非ASCII码,需要先通过encodeURIComponent处理
var str ="你好"; btoa(encodeURIComponent(str)); //"JUU0JUJEJUEwJUU1JUE1JUJE" decodeURIComponent(atob("JUU0JUJEJUEwJUU1JUE1JUJE")) // "你好"
以上是关于字符串的主要内容,如果未能解决你的问题,请参考以下文章