xml地图|网站地图|网站标签 [设为首页] [加入收藏]

彻底理解字符编码,从零开始学习前端JAVASCRIPT

来源:http://www.ccidsi.com 作者:集成介绍 人气:98 发布时间:2019-05-22
摘要:1:字符串 JS中的任何数据类型都得以看成对象来看。所以string既是骨干数据类型,又是指标。   2:注明字符串 骨干数据类型:var sStr= ‘字符串’; 对象的措施:var oStr =new String(‘字符

1:字符串

JS中的任何数据类型都得以看成对象来看。所以string既是骨干数据类型,又是指标。


 2:注明字符串

骨干数据类型:var sStr = ‘字符串’;

对象的措施:var oStr = new String(‘字符串’);

图片 1图片 2

        //统计每个字符出现的次数,结果显示 a 2、b 1、c 2、d1,去掉重复的字符,使结果显示 abcdfgj。
        //var定义的变量赋值字符串以对象[]的方式访问单个字符IE8以上支持
        var str="abcdafgcj";
        var arr={};
        var newstr="";
        for (var i = 0; i < str.length; i  ) {
            if (arr[str[i]]) {
                arr[str[i]]  ;
            } 
            else {
                arr[str[i]]=1;
            }
        }
        for(newarr in arr){
            newstr =newarr ":" arr[newarr] "、";
        }
        document.write(newstr)

        //以string.charAt方式获取字符串对应位置的值兼容低版本浏览器
        var str="abcdafgcj";
        var arr={};
        var newstr="";
        for (var i = 0; i < str.length; i  ) {
            var code=str.charAt(i);
            if (arr[code]) {
                arr[code]  ;
            } 
            else {
                arr[code]=1;
            }
        }
        for(newarr in arr){
            newstr =newarr ":" arr[newarr] "、";
        }
        document.write(newstr)

扬言字符串使用demo


三:字符串属性

1.length: 计算字符串的长短(不区分中国和英国文)。

二.constructor:对象的构造函数。


 四:字符串方法

序号 方法名 作用
1 myStr.charAt(num) 返回在指定位置的字符
2 myStr.charCodeAt(num) 返回指定位置的字符的Unicode(是字符编码的一种模式)编码。
3 String.fromCharCode() String的意思就是不能用自己定义的字符串名字来调用,例如定义一个变量字符串 var str="";只能用String来定义调用。接受一个或多个指定的Unicode值,然后返回一个或多个字符串。(把unicode编码转换为字符串)。
4 myStr.indexOf() 返回某个指定的字符串,在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。第二个参数指定开始查找的起始位置。
5 myStr.lastIndexOf() 返回一个指定的字符串值最后出现的位置,如果要检索的字符串值没有出现,则该方法返回 -1。第二个参数指定开始查找的起始位置,只能指定正数。
6 myStr.match() 在字符串中检索指定的值,返回的值是数组。如果匹配不到返回null。配合正则来用。
7 myStr.search() 返回出现的位置,查找不到返回-1。配合正则来用。
8 myStr.replace(“需替换的字符串”,“替换后的字符串”) 将字符串中的一些字符替换为另外一些字符。配合正则使用。
9 myStr.slice(start,end) 从指定的开始位置,到结束位置(不包括结束位置)的所有字符串。如果不指定结束位置,则从指定的开始位置,取到结尾。注意的是,myStr.slice() 与 myArr.slice() 相似。
10 myStr.substring(start,end) 从指定的开始位置,到结束位置(不包括)的所有字符串。如果不指定结束位置,则从指定的开始位置,取到结尾。
11 substr(start,length)

从指定的位置开始取指定长度的字符串。如果没有指定长度,从指定开始的位置取到结尾。 ECMAscript 没有对该方法进行标准化,因此反对使用它

如果substr的start指定为负数,则该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

 slice(start,end)  vs  substring(start,end) :slice参数可以是负数,如果是负数,从-1开始指的是字符串结尾。substring参数是负数的时候,会自动转换为0。

12 split("分割位置",[指定的长度]) 将一个字符串分割成数组。
13 toLowerCase() 用于把字符串转换为小写。
14 toUpperCase() 将字符串转换为大写。

 


5:ASCII码和字符集

ASCII:American Standard Code for Information Interchange,United States音讯沟通规范代码。

 图片 3

 Unicode编码:

Unicode(统1码、万国码、单1码)是计算机科学领域里的一项产业界规范,包蕴字符集、编码方案等。Unicode 是为了减轻守旧的字符编码方案的局限而产生的,它为每一个语言中的每一种字符设定了统1并且唯壹的二进制编码,以知足跨语言、跨平台开始展览文本转换、管理的渴求。 Unicode方今广大运用的是UCS-贰,它用五个字节来编码四个字符。

如汉字"经"的编码是0x七ECF,注意字符码一般用十六进制来 表示,为了与10进制区分,十陆进制以0x初步,0x7ECF调换来10进制 正是3贰四陆三,UCS-贰用八个字节来编码字符,五个字节就是十六位2进制, 二的16次方等于6553陆,所以UCS-贰最多能编码655318个字符。

GBK编码:

GBK全称《汉字内码扩充规范》(GBK即“国标”、“扩张”中文拼音的第三个假名,英文名称:Chinese Internal Code Specification)。GBK 向下与GB231②编码包容,向上帮助 ISO 106四6.1国际规范,是前者向后者过渡进程中的3个承上启下的产物。

UTF-8编码:

UTF-八(八-bit Unicode Transformation Format)是壹种针对Unicode的可变长度字符编码,又称万国码。 UTF-8用一到6个字节编码UNICODE字符。用在网页上得以同一页面呈现汉语简体繁体及其余语言(如英文,日文,斯洛伐克语)。

参谋文献

1、

2、

一、总结

普及的编码格式总括:

ASCLL:单字节

ISO-885玖-一(latin-一):单字节,与ASCLL的不等在于利用了最高位参预编码

GB2312:双字节,简体汉字

GBK:双字节,对GB231二的扩展,完全协作GB2312,不包容BIG5

GB18030:单字节、双字节或4字节,与GB231二包容

BIG5:双字节,繁体汉字。BIG5与GB2312未有关联,不相配

UCS-2:双字节编码,BOM机制标志大端小端(FE FF或FF FE伊始)

UCS-四:肆字节编码,BOM机制标记大端小端(FE FF或FF FE开头)

UTF-16:双字节或4字节编码

UTF-8:1-四字节变长编码,汉字叁字节,BOM机制标志编码形式(EF BB BF起始)

(Unicode是字符集,其编码完毕有UTF-八,UTF-1陆等)

贰、字符编码

  2.1 为啥供给编码?

  大家知道,全部的音讯最后都意味着为3个2进制的字符串,每多个贰进制位(bit)有0和一两种景况。当大家要求把字符'A'存入Computer时,应该对应哪一种情景呢,存款和储蓄时,我们得以将字符'A'用0一千010(这么些随意编的)二进制字符串表示,存入Computer;读取时,再将0一千0十还原成字符'A'。那么难点来了,存款和储蓄时,字符'A'应该对应哪一串二进制数呢,是010000十?恐怕是一千0000 111十十一?说白了,就是内需二个平整。这几个规则能够将字符映射到唯一一种意况(2进制字符串),那正是编码。而最早出现的编码规则就是ASCII编码,在ASCII编码规则中,字符'A'既不对应0一千010,也不对应10000000 11110101,而是对应0100000一(不要问为啥,那是平整)。

  2.2 ASCII

  那套编码规则是由美利哥定制,一共规定了1三13个字符的编码,例如空格"SPACE"是3②(10进制)(2进制00壹仟00),大写的字母A是65(贰进制0一千001)。那1三十个记号(包罗三13个不可能打印出来的决定符号),只占用了一个字节(8bit)的背后7个人,最前头的1人统1鲜明为0。总共才有1二十八个字符编码,2个字节都未有用完,那就像如同有一点点太少了。于是乎,就从头压榨最高位,对其为一时也进展编码,利用最高位进行编码的方法就称为非ASCII编码,如ISO-885九-一编码。

  2.3 ISO-8859-1

  那套编码规则由ISO社团制定。是在 ASCII 码基础上又制订了一些正规用来增添ASCII编码,即 00000000(0) ~ 0111111壹(1贰七) 与ASCII的编码同样,对 一千0000(12八) ~ 1111111壹(25伍)那1段实行了编码,如将字符§编码成 10拾011一(1陆七)。ISO-885九-一编码也是单字节编码,最多能够代表二陆二十一个字符。Latin1是ISO-885玖-一的别称,有个别条件下写作Latin-1。可是,即便能够代表2613个字符,对粤语来说,照旧太少了,多少个字节明确不够,必须用八个字节表示。不过,由于是单字节编码,和Computer最基础的意味单位同样,所以众多时候,依旧选择ISO8859-一编码来代表。而且在众多商谈上,暗许使用该编码。例如,固然"中文"多个字不设有ISO885玖-壹编码,以GB231二编码为例,应该是D陆D0 CEC四三个字符,使用ISO885九-一编码的时候则将它拆开为6个字节来代表:D陆D0 CEC4(事实上,在进展仓库储存的时候,也是以字节为单位打开管理)。而如若是UTF编码,则是5个字节e四b八 ad e6 96 87。很扎眼,这种代表方法还亟需以另一种编码为根基技能科学展现。而常见的中文编码格局有GB2312、BIG5、GBK。

  2.4 GB2312

本文由68399皇家赌场发布于集成介绍,转载请注明出处:彻底理解字符编码,从零开始学习前端JAVASCRIPT

关键词: 68399皇家赌场 Others

上一篇:订单查询优化,mysql订单查询

下一篇:没有了

最火资讯