字符串

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")) // "你好"

 

以上是关于字符串的主要内容,如果未能解决你的问题,请参考以下文章

第15章:字符串

什么是字符串常量和字符串变量啊???

neo4j字符串操作大全

java中怎么判断一个字符串数组中包含某个字符或字符串

PHP字符串函数

如何获取一个字符串在某个字符串的位置