码迷,mamicode.com
首页 > 其他好文 > 详细

字符串

时间:2019-10-03 19:53:35      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:class   8进制   适用于   包含   存储   com   保留   格式   length   

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

 

字符串

标签:class   8进制   适用于   包含   存储   com   保留   格式   length   

原文地址:https://www.cnblogs.com/lyraLee/p/11620339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!