zoukankan      html  css  js  c++  java
  • 搜狐微博的解码方式及常用字符集一些知识.

    开通了一个月,还没发一篇文章,今天将最近学到的知识做个总结,发表一下,如有错误请各路大神指正,不喜勿喷!!!

    搜狐微博
    msg走的流程(全中文,中英文混合):
    1、将unicode形式的内容转化成GB18030形式的内容
    2、将GB18030形式的内容进行utf-8解码

    msg走的流程(纯英文):
    直接进行url解码

    普通微博
    msg走的流程(所有类型):
    直接进行urldecode解码即可


    URLEncode是这样编码的
    1。数字和字母不变。
    2。空格变为"+"号。
    3。其他被编码成"%"加上他们的ascii的十六进制。

    escape编码:
    所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%uxx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。
    采用的字符集是ISO Latin-1。
    ISO Latin-1字符集是Unicode字符集的一个子集,对应于IE4+中Unicode字符指令表的前256个条目。
    其中Unicode字符为双字节16位,
    可以表示任何一种语言符号;而Latin-1字符集是单字节8位,只能够表示英文和西欧字符。

    汉字字节问题:
    unicode
    最初的unicode编码是固定长度的,16位,也就是2两个字节代表一个字符。
    Unicode只是一个编码规范,目前实际实现的unicode编码只要有三种:UTF-8,UCS-2和UTF-16,
    三种unicode字符集之间可以按照规范进行转换。

    utf-8
    3字节
    汉字在GB家族中是双字节,但在UTF-8中却是3字节,所以其编码方式是1110xxxx 10xxxxxx 10xxxxxx。

    GB2312
    2字节
    编码字符集中的汉字的机内码长度一个汉字用两个字节表示。


    GB18030
    2字节
    两个字节表示一个汉字,汉字在GB家族中是双字节。


    再加上英文字节数,汇总如下:
    英文字母和中文汉字在不同字符集编码下的字节数

    英文字母:

    字节数 : 1;编码:GB2312

    字节数 : 1;编码:GBK

    字节数 : 1;编码:GB18030

    字节数 : 1;编码:ISO-8859-1

    字节数 : 1;编码:UTF-8

    字节数 : 4;编码:UTF-16

    字节数 : 2;编码:UTF-16BE

    字节数 : 2;编码:UTF-16LE

    中文汉字:

    字节数 : 2;编码:GB2312

    字节数 : 2;编码:GBK

    字节数 : 2;编码:GB18030

    字节数 : 1;编码:ISO-8859-1

    字节数 : 3;编码:UTF-8

    字节数 : 4;编码:UTF-16

    字节数 : 2;编码:UTF-16BE

    字节数 : 2;编码:UTF-16LE

  • 相关阅读:
    SlidingMenu官方实例分析2——BaseActivity
    SlidingMenu官方实例分析1——ExampleListActivity
    SlidingMenu——使用前的配置
    获得String形式日期的后一天
    android中TabHost和RadioGroup
    android中文字斜着显示
    OpenGL ES andoid学习————2
    OpenGL ES andoid学习————1
    Gallery学习————检测手机中是否存在外部存储设备
    Java读取xml数据
  • 原文地址:https://www.cnblogs.com/maye/p/3978623.html
Copyright © 2011-2022 走看看