当前位置: 首页 > news >正文

ico网站建设什么平台可以免费发广告

ico网站建设,什么平台可以免费发广告,wordpress提示数据库出错,镇江网站建设 的公司编码:数据存储进计算机中需要转换为二进制存储,这个过程就是编码。 解码:计算机读取数据并展示在页面上,需要将二进制转换为人类语言的过程,叫做解码。 乱码:如果编码和解码时使用的码表不一样,…

编码:数据存储进计算机中需要转换为二进制存储,这个过程就是编码。
解码:计算机读取数据并展示在页面上,需要将二进制转换为人类语言的过程,叫做解码。
乱码:如果编码和解码时使用的码表不一样,就会产生乱码。
码表:就是将人类可以看懂的数据格式转换成计算机能够认识的二进制形式的参考表,称为码表。

ASCII

American Standard Code for Information Interchange,美国信息交换标准代码。

计算机发明之初,基本只考虑了美国的需求,而美国大概只需要 128 个字符,用 7 位刚好可以表示,计算机存储的最小单位是 byte,ASCII 中最高位设置为 0,剩下的 7 位表示字符,ASCII 码规定了 0 ~ 127 对应的字符。

数字 32~126 表示的字符都是可打印字符。

image.png

0~31 和 127 表示一些不可打印的字符。

数字缩写/字符解释转义字符
0NUL(null)空字符\0
8BS(backspace)退格\b
9HT(horizontal tab)水平制表符\t
10LF(NL line feed,new line)换行键\n
13CR(carriage return)回车键\r
27ESC换码
127DEL(delete)删除

ASCII 码对美国够用,但对其他国家是不够的。

各国的计算机厂商发明了各自的编码方式以表示自己国家的字符,为了保持与 ASCII 码的兼容性,一般都是将最高位设置为 1。

就是说,当最高位为 0 时,表示 ASCII 码,当为 1 时就是各个国家自己的字符。

ISO 8859-1

ISO 8859-1 又称 Latin-1,同样使用一个字节表示一个字符。

其中 0~127 与 ASCII 一样,128~255 规定了不同的含义。

Windows-1252

基本上可以认为,ISO8859-1 已被 Windows-1252 取代,在很多应用程序中,即使文件声明它采用的是 ISO 8859-1 编码,解析的时候依然被当作 Windows-1252 编码。

GBK

GBK 使用固定的两个字节表示字符,高位字节范围是 0x81~0xFE ,低位字节范围是 0x40~0x7E 和 0x80~0xFE。

需要注意的是,低位字节是从 0x40(即64)开始的,因此低位字节的最高位可能为 0,如何判断它是汉字还是 ASCII 字符呢?因为汉字是用固定两个字节表示的,当第一个字节的最高位为 1 时,直接将下一个字节一起解析,然后跳到第三个字节继续解析。

Unicode

Unicode 给世界上所有字符都分配了一个唯一的数字编号,编号范围从 0x000000~0x10FFFF。

每个字符都有一个 Unicode 编号,这个编号一般写成十六进制,在前面加 U+,比如“马”的 Unicode 编码是 U+9A6C。

Unicode 给字符分配了统一的数字编号,但它并没有规定这个编号怎么对应到二进制表示。

编号怎么对应到二进制表示?主要方案有 UTF-32、UTF-16 和 UTF-8 。

UTF-32

字符 Unicode 编号的整数二进制形式,4个字节,根据字节排序的不同(大端和小端)分为 UTF-32BE 和 UTF-32LE。

UTF-16

UTF-16 使用变长字节表示。对于编号在 U+0000 ~ U+FFFF的字符(常用字符),直接用 2 个字节表示,U+D800~U+DBFF的编号其实是没有定义的。

编号在 U+10000 ~ U+10FFFF的字符(增补字符集),需要使用 4 个字节表示,前两个字节叫高代理项,范围是U+D800~U+DBFF;后两个字节叫低代理项,范围是U+DC00~U+DFFF。

区分是2个字节还是4个字节表示一个字符就看前两个字节的编号范围,如果是U+D800~U+DBFF,就是4个字节,否则就是2个字节。

UTF-16也有和UTF-32一样的字节序问题,如果高位存放在前面就叫大端(BE),编码就叫UTF-16BE,否则就叫小端,编码就叫UTF-16LE。

UTF-8

UTF-8 使用变长字节表示,字符使用的字节个数与其 Unicode 编号的大小有关,编号小的使用的字节就少,字节个数为 1~4 不等。

编号范围二进制格式
0x00 ~ 0x7F(0 ~ 127)0xxx xxxx
0x80 ~ 0x7FF(128 ~ 2047)110x xxxx 10xx xxxx
0x800 ~ 0xFFFF(2048 ~ 65535)1110 xxxx 10xx xxxx 10xx xxxx
0x10000 ~ 0x10FFFF(65536以上)1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx

上表中,x 表示可以用的二进制位,而每个字节开头的1或0是固定的。

UTF-8 将字符看作整数,转化为二进制形式(去掉高位的 0),然后将二进制位从右向左依次填入对应的二进制格式 x 中,填充完后,如果对应的二进制格式还有没填的 x,则设为 0。

/*如 '马' 的 Unicode 编号是 0x9A6C,整数编号是 39532,二进制 1001 101001 101100对应的 UTF-8 二进制格式是:1110 xxxx 10xx xxxx 10xx xxxx将二进制 1001 101001 101100 从右到左依次填入二进制格式中结果就是其 UTF-8 编码:1110 1001 1010 1001 1010 1100*/

UTF-8 是兼容 ASCII 的,对大部分中文字符而言,需要使用三个字节表示。

Java 中的编码

Java 源码可以使用任何形式的编码,默认使用的是电脑系统自带的编码。

源码编译后生成 .class 文件,.class 文件中字符编码为 modified UTF-8,它类似于 UTF-8,但是二者不同。

JVM 运行的时候,将 modified UTF-8 解码成 UTF-16,UTF-16 编码是字符 char 在内存中的编码形式。

总结就是源代码从【某种编码方式】编码成 modified UTF-8 再到 modified UTF-8 解码成执行期的 UTF-16(便于统一处理)。

编码转换

不同编码格式之间可以借助 Unicode 编号进行编码转换。可以认为,每种编码都有一个映射表,存储 Unicode 编号和其特有的字符编码之间的对应关系。

编码转换的具体过程可以是:一个字符从 A 编码转到 B 编码,先找到字符的 A 编码格式,通过 A 编码的映射表找到其 Unicode 编号,然后通过 Unicode 编号再查找 B 编码的映射表,找到字符的 B 编码格式。

乱码问题

解析错误

使用错误的编码进行解析,比如小明采用 Windows-1252 写了个文件,发送给了小红,小红使用 GBK 来解析这个字符,看到的可能就是乱码。

编码转换错误

在错误解析的基础上还进行了编码转换。比如文件实际是 Windows-1252编码,小红用 GBK 解析打开后看到乱码,又转换成了 UTF-8 编码。

乱码恢复

恢复要抓住两个关键信息:一个是原来的二进制编码方式A;另一个是错误解读的编码方式B。

public static void recover(String str)  throws UnsupportedEncodingException {String[] charsets = {"windows-1252", "GB18030", "Big5", "UTF-8"};for(int i = 0; i< charsets.length; i++){for(int j = 0; j < charsets.length; j++){if(i != j){String s = new String(str.getBytes(charsets[i]), charsets[j]);System.out.println("---- 原来编码(A)假设是: " + charsets[j]+ ", 被错误解读为了(B): " + charsets[i]);System.out.println(s);System.out.println();}}}
}
http://www.hengruixuexiao.com/news/39224.html

相关文章:

  • 做网站怎样找免费淘宝关键词工具
  • 唐山市建设厅政府网站网站策划书模板
  • 个人如何建立微信公众号青岛百度推广优化
  • 可以做网站首页的图片素材营销做得好的品牌
  • 做网站什么商品好seo关键词排名优化案例
  • 陕西网站备案代理媒体:北京不再公布各区疫情数据
  • 加强文化网站建设软文写作模板
  • 临沂市建设安全管理网站aso优化运营
  • 烟台网站建设推广百度权重划分等级
  • 网站开发虚拟电话百度问一问官网
  • 软件最全的应用商店公司seo是什么级别
  • 成都网站建设公司高新厦门关键词优化平台
  • 北京seo专业团队百中搜优化软件靠谱吗
  • 网站框架都有什么用代写软文公司
  • 企销客东莞seo网络优化
  • 网站建设怎么招聘昆明seo关键字推广
  • php网站分类目录源码网站下载
  • 50个创业小型加工厂seo优化推广流程
  • 厦门橄榄网站建设视频推广一条多少钱
  • 做标志的好网站seo国外英文论坛
  • 做商城网站的公司线上宣传有哪些好的方式方法
  • 沈丘做网站去哪里seo关键词
  • 36氪网站用什么程序做的品牌营销策略分析论文
  • 石家庄网站建设.神鹿网络万物识别扫一扫
  • 做网站需要找什么客户徐州seo推广优化
  • 网站文章正文可以做内链吗企点官网
  • 建设专业网站电话咨询商业网站设计
  • 网站弹出咨询这个怎么做网络服务商主要包括
  • 学校网站开发与设计自动引流免费app
  • 链家做网站和手机app花了多少钱aso优化公司