zoukankan      html  css  js  c++  java
  • 编码表的概述和常见编码表

    引出编码表:

      我们知道,初学IO的时候使用字节流的read()针对中文操作输出的时候可能出现中文乱码。这是为什么呢?因为myeclipes在默认情况下,使用的编码表示ASCII表,中文是两个字节存储的,ASCII表示一个字节代表一个字符,强行将中文拆分成两个字节进行解析就会找不到对应字符出现?或者找到的字符不可能是中文的。ASCII码讲中文拆分成两个字节。第一个字节的对应位置一定是负数,第二个常见是负数,可能是正数。

    编码表:

      由现实世界的字符和其对应的数值组成的一张表,用来解析和转换各种字符

    常见的编码表

      ASCII码表:7位表示一个数据,一个字节表示一个字符。最高位是符号位

        ‘a' 97   ’A' 65  0 48

      

      ISO-8859-1:拉丁码表   8位表示一个数据

      GB2312:中国的简体中文编码表

      GBK:中国的简体中文编码表升级

      GB18030:GBK的取代版本

      BIG-5:繁体中文编码表,俗称“大五码”

      Unicode:国际标准码,融合了各种文字

           所有文字都用两个字节表示,java语言使用的就是Unicode编码

      UTF-8:国际化编码表,升级版

          最多能用三个字节表示一个字符。就是能用一个字节表示的字符就使用一个字节表示(兼容ASCII),一个用不了的就用两个,实在还不行就使用三个。

    编码问题引发小例子:

    比如,中国在gbk编码表示的是  10000 和20000

    直接到日本的话,日本编码使用shift-JIS  10000   20000分别代表的是か ら,转换过去就曲解了原来的含义了。

  • 相关阅读:
    17. Letter Combinations of a Phone Number
    16. 3Sum Closest
    15. 3Sum
    14. Longest Common Prefix
    13. Roman to Integer
    12. Integer to Roman
    11. Container With Most Water
    10. Regular Expression Matching
    9. Palindrome Number
    8. String to Integer (atoi)
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/5573707.html
Copyright © 2011-2022 走看看