JavaScript中进制和字符编码问题

1、进制:

JavaScript中允许使用字面量的形式声明不同进制的数字:

var a = 0b10; // 2 声明一个二进制
var b = 010;  // 8 八进制,严格模式下会报错
var c = 10;  // 10 十进制
var d = 0x10 // 16 十六进制

其中八进制字面量在严格模式下会报错,数字超过范围,将会忽略前导 0 ,解析为十进制数字

var f = 08  ;  //8

2、进制之间转换:

调用toString方法,可以在进制之间进行转换。

d.toString(2); //"10000"
d.toString(8); //"20"
d.toString(10);//"16"

3、字符编码

同样JavaScript允许使用字面量的形式声明一个字符串;

var a = ‘a‘; //"a"  字面量声明;
var b = ‘\x61‘;//"a"  使用ASCII码的格式声明一个字符串;\x后面跟的是ASCII 16进制的格式。
var c = ‘\u0061‘ // "a" 使用unicode编码声明的字符串;都是16进制格式。

4、字符编码转换

静态方法:

String.fromCodePoint() ,返回使用指定的代码点序列创建的字符串;

String.fromCodePoint(97) //"a"  十进制的码点,一串 Unicode 编码位置
String.fromCodePoint(0x61) //"a" 十六进制编码位置

String.fromCharCode() ,返回由指定的UTF-16代码单元序列创建的字符串;

String.fromCodePoint(97);// "a"
String.fromCodePoint(0x61); // "a"

两者区别在于fromCharCode参数是UTF-16代码单元的数字。 范围介于0到65535(0xFFFF)之间。 大于0xFFFF的数字将被截断。 不进行有效性检查。

实例方法:

String.prototype.charCodeAt()方法返回0到65535之间的整数,表示给定索引处的UTF-16代码单元;

‘a‘.charCodeAt(0) //97

String.prototype.codePointAt() 方法返回 一个 Unicode 编码点值的非负整数。

‘a‘.codePointAt(0);//97
‘中‘.codePointAt(0);//20013

原文地址:https://www.cnblogs.com/engeng/p/11212379.html

时间: 2024-10-11 16:32:13

JavaScript中进制和字符编码问题的相关文章

javascript 10进制和64进制的转换

原文:javascript 10进制和64进制的转换 function string10to64(number) { var chars = '0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ-~'.split(''), radix = chars.length, qutient = +number, arr = []; do { mod = qutient % radix; qutient = (qutient - m

javascript 10进制和62进制的转换

function string10to62(number) { var chars = '0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ'.split(''), radix = chars.length, qutient = +number, arr = []; do { mod = qutient % radix; qutient = (qutient - mod) / radix; arr.unshift(char

Python中的字符串与字符编码

原文地址:点击这里 本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常谈的话题,同行们都写过很多这方面的文章.有的人云亦云,也有的写得很深入.近日看到某知名培训机构的教学视频中再次谈及此问题,讲解的还是不尽人意,所以才想写这篇文字.一方面,梳理一下相关知识,另一方面,希望给其他人些许帮助. Python2的 默认编码 是ASCII,不能识别中文字符,需要显式指定字符编码:Python3的

Python中进制转换函数的使用

Python中进制转换函数的使用 关于Python中几个进制转换的函数使用方法,做一个简单的使用方法的介绍,我们常用的进制转换函数常用的就是int()(其他进制转换到十进制).bin()(十进制转换到二进制).oct()(十进制转换到八进制).hex()(十进制转换到十六进制). 下面我们逐个说下每个函数的用法. bin bin()函数,是将十进制的数字转换成二进制的数字.其中bin()函数中传入的是十进制的数字,数据类型为数字类型. v = 18 num = bin(v) print(num)

js中进制转换

利用javascript进行进制转换的方法 今天在做网站时用到了进制的转换,于是在网上搜索,发现可以直接利用javascript的toString()方法和parseInt()方法进行十进制和其他进制之间的转换,这里对他们的用法进行一下整理. toString()方法:将十进制数转换成其他进制数 parseInt()方法:将其他进制数转换成十进制数 <script language="javascript" type="text/javascript">

探秘JavaScript中的六个字符

JavaScript 是一个奇怪而有趣的语言,我们可以写一些疯狂却仍然有效的代码.它试图帮助我们把事情转换到基于我们如何对待他们的特定类型. 如果我们添加一个字符串,JavaScript会假定我们希望为文本形式表示,所以将它转换为一个字符串.如果我们添加一个正负前缀符号,JavaScript会假定我们希望为数值形式表示,如果可能的话,对我们来说并将字符串转换为一个数字.如果我们添加一个否定符号,JavaScript会将将字符串转换为一个布尔值. 我们可以使用Javascript中[,],(,),

C语言中进制知识总结

1.什么是进制 进制是一种计数的方式,常用的有二进制.八进制.十进制.十六进制.任何数据在计算机内存中都是以二进制的形式存放的. 我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数:八进制数是以8为计算单元,满8进1位的数. 对于任何一个数字,我们都可以用不同的进制来表示,比如,十进制数12,用二进制表示为1100,用八进制表示为14,用十六进制表示为0xC. 2.进制的转换规则 遵循满进制值进1位,个位数变为0的原理,下面我们以十进制数18为例,对1-18中每一个数值转换各种进制做一

JavaScript 16进制颜色值转RGB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

JAVA中进制的初步了解

第一节 进制的基本概念 位进制是人们为了计数和运算方便而约定的计数系统,我们的计算机中一般采用的是二进制. 那什么是二进制呢?十进制是指10个数字,0-9,逢10进1:二进制则是指2个数,0和1,逢2进1,一个数在不同的位置上所代表的值会不同. 十进制是我们现实生活中经常使用的,我们也比较熟悉,那二进制是如何用来表示一个数呢? 用十进制举例来说8=1000:3=0011:2=0010:9=1001:6=0110. 8=1000,从右往左数,前三位是0,第四位是1,也就是2的3次方,2^3 * 1