随笔- 182
文章- 1
评论- 28
阅读-
57万
随笔分类 - Character Set and Encoding
Character Set and Encoding
ASCII编码表
摘要:十六进制十进制字符十六进制十进制字符十六进制十进制字符十六进制十进制字符00NUL2032空格 4064@6096`11SOH2133!4165A6197a22STX2234"4266B6298b33ETX2335#4367C6399c44EOF2436$4468D64100d55ENQ2537%4569E65101e66ACK2638&4670F66102f77BEL2739'4771G67103g88BS2840(4872H68104h99HT2941)4973I69105iA10LF2A42*4A74J6A106jB11VT2B43+4B75K6B107kC12
阅读全文
URL编码表
摘要:æ 退格 TAB 换行 回车 空格 ! " # $ % & ' ( ) * + , - . /%00 %01 %02 %03 %04 %05 %06 %07 %08 %09 %0a %0b %0c %0d %0e %0f %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %1a %1b %1c %1d %1e %1f %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %2a %2b %2c %2d %2e %2f0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B
阅读全文
A note from UrlEscape Function
摘要:UrlEscape is used to converts characters in a URL that might be altered during transport across the Internet ("unsafe" characters) into their corresponding escape sequences.For the purposes of this document, a typical URL is divided into three sections: the server, the segment, and the que
阅读全文
URL的#号
摘要:去年9月,twitter改版。一个显著变化,就是URL加入了"#!"符号。比如,改版前的用户主页网址为 http://twitter.com/username改版后,就变成了 http://twitter.com/#!/username在我印象中,这是主流网站第一次将"#"大规模用于直接与用户交互的关键URL中。这表明井号(Hash)的作用正在被重新认识。本文根据HttpWatch的文章,整理与井号有关的所有重要知识点。一、#的涵义#代表网页中的一个位置。其右面的字符,就是该位置的标识符。比如, http://www.example.com/index.
阅读全文
Base64编码
摘要:1.MIME主要使用两种编码转换方式——Quoted-printable和Base64——将8位的非英语字符转化为7位的ASCII字符。虽然这样的初衷,是为了满足电子邮件中不能直接使用非ASCII码字符的规定,但是也有其他重要的意义:a)所有的二进制文件,都可以因此转化为可打印的文本编码,使用文本软件进行编辑;b)能够对文本进行简单的加密。2.首先,简单介绍一下Quoted-printable编码转换方式。它主要用于ACSII文本中夹杂少量非ASCII码字符的情况,不适合于转换纯二进制文件。它规定将每一个8位的字节,转换为3个字符。第一个字符是“=”号,这是固定不变的。后面二个字符是二个十六进
阅读全文
关于URL编码
摘要:一、问题的由来一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址“http://www.abc.com”,但是没有希腊字母的网址“http://www.aβγ.com”(读作阿尔法-贝塔-伽玛.com)。这是因为网络标准RFC 1738做了硬性规定:"...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved charac
阅读全文
Unicode详解
摘要:字节和字符的区别字节和字符能有什么区别?不都是一样的吗?完全正确,但只是在古老的DOS时代。当Unicode出现后,字节和字符就不一样了。字节(octet)是一个八位的存储单元,取值范围0~255。而字符(character,或者word)为语言意义上的符号,范围就不一定了。例如在UCS-2中定义的字符范围为0~65535,它的一个字符占用两个字节。Big Endian和Little Endian上面提到了一个字符可能占用多个字节,那么这多个字节在计算机中如何存储呢?比如字符0xabcd,它的存储格式到底是 AB CD,还是 CD AB 呢?实际上两者都有可能,并分别有不同的名字。如果存储为
阅读全文
ASCII 、GB2312、GBK、GB18030、unicode、UTF-8字符集编码详解
摘要:ASCII字符集编码ASCII码是7位编码,编码范围是0x00-0x7F。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x20和0x7F共33个控制字符。只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用BASE64或者其他编码方式。GB2312字符集编码GB2312 是汉字字符集和编码的代号,中文全称为“信息交换用汉字编码字符集”,由中华人民共和国国家标准总局发布,一九八一年五月一日实施。GB 是“国标” 二
阅读全文
Unicode和UTF-8之间的转换详解
摘要:Unicode是一个字符集,而UTF-8是 Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1 个字节。Unicode为双字节,而UTF-8中汉字占三个字节。 UTF-8编码字符理论上可以最多到6个字节长,然而16位BMP(Basic Multilingual Plane)字符最多只用到3字节长。下面看一下UTF-8编码表: U-00000000 - U-0000007F: 0xxxxxxx U-00000080 - U-000007FF: 110xxxxx 10xxxxxx U-00000800 -
阅读全文
计算机内部编码
摘要:计算机按Byte表示线性地址,可以说,对于写程序来说,最底层的很少是二进制位,而是Byte。一般来说在汇编里用到三种长度的数据结构:Byte、Word和DWord(Cardinal)。计算机在存取后两者时,Intel的习惯是Little Endian,即Low Word或Low Byte在前面,与我们的日常习惯相反。GB2312-80标准包括6763个汉字,分94个区,每个区94个位,所以一种叫区位码的东西可以用来准确定位一个汉字。用1Byte里的7Bit表示一个ASCII字符,00H~7FH,共2^7=128个。用1Word表示GB码汉字,但为了与ASCII字符区分开,其中的两个Byte都要
阅读全文
Base64
摘要:base64Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所
阅读全文
字符,字节和编码 - Characters, Bytes And Encoding
摘要:字符,字节和编码级别:中级摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。掌握编码问题的关键是正确地理解相关概念,编码所涉及的技术其实是很简单的。因此,阅读本文时需要慢读多想,多思考。引言“字符与编码”是一个被经常讨论的话题。即使这样,时常出现的乱码仍然困扰着大家。虽然我们有很多的办法可以用来消除乱码,但我们并不一定理解这些办法的内在原理。而有的乱码产生的原因,实际上由于底层代码本身有问题所导致的。因此
阅读全文