1. 字符编码

1.1. 编码

在计算机底层,比如说你的名字“小萌”在计算机中并不是文字的形式,而是一串二进制数字,如“011001100110…”人类只认识文字,可惜计算机只认 0 和 1,双方都不能妥协,那就必须要有一个从文字到 0、1 的映射了。

从我们可以看到的文字 到 0、1 的映射,称为编码

反过来从 0、1 到 文字,称为叫解码。

1.2. 字符集

字符的集合,从中国的角度看,字符集的发展顺序如下

    GB18030     

Unicode转换格式: UTF-8,UTF-16,UTF-32.

2. Base64编码

dzMxYzBtM18yX2gzcjM=

3. URL编码

url编码是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。不管哪种情况,在服务器端的表单输入格式样子象这样:

theName=Ichabod+Crane&gender=male&status=missing& ;headless=yes

URL编码遵循下列规则: 每对name/value由&;符分开;每对来自表单的name/value由=符分开。如果用解码软件解码软件户没有输入值给这个name,那么这个name还是出现,只是无值。任何特殊的字符(就是那些不是简单的七位ASCII,如汉字)将以百分符%用十六进制编码,当然也包括象 =,&;,和 % 这些特殊的字符。其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。那么汉字的url编码呢?

4. Varchar 与 Nvarchar

最早的:0-127位”Ascii”编码(American Standard Code for Information Interchange,美国信息互换标准代码)占用8bit 1Byte

中国在:128-256位之后发明GB2312 前面跟英文一样,后面占用2Byte

中国在:0-256位发明GBK,包含所有所有民族语言,囊括GB2312,每个字占用2Byte

全球:Universal Multiple-Octet Coded Character Set”,简称 UCS, 俗称 “UNICODE”。 一个字符占用2Byte

面向传输:面向传输的众多 UTF(UCS Transfer Format)标准出现了,UTF8就是每次8个位传输数据,而UTF16就是每次16个位

5. 字符比较

1)数字0~9比字母要小。如”7”<“F”;
2)数字0比数字9要小,并按0到9顺序递增。如”3”<“8”
3)字母A比字母Z要小,并按A到Z顺序递增。如”A”<“Z”
4)同个字母的大写字母比小写字母要小。如”A”<“a”。

记住几个常见字母的ASCII码大小:“换行LF”为0x0A;“回车CR”为0x0D;空格为0x20;“0”为0x30; “A”为0x41;“a”为0x61。另外还有128-255的ASCII字符。