狠狠撸

狠狠撸Share a Scribd company logo
编码大全 拔赤  [email_address] http://www.uedmagazine.com   2010-04-23
编码之初 ASCII 国际化 第二种国际化 HTTP 之 URL 编码 HTTP 之 BASE64 编码 字体 编码之初
编码之初 ASCII 国际化 第二种国际化 HTTP 之 URL 编码 HTTP 之 BASE64 编码 字体 编码之初
编码之初 – 之初 摩尔斯码 单位是“位”(长短音) 01 -> A 1000 -> B 1010 -> C 输入法编码 单位是“字符” VRM ->  淘 (郑码) IQRM ->  淘 (五笔) 4452 ->  淘 (区位) => GB2312
编码之初 –  01 编码 计算机内码 01 编码 编码单位“字” 2A -> * 30 -> 0 41 -> A 6DD8 ->  淘 ( unicode ) CCD4 ->  淘 ( gbk ) B25E ->  淘 ( big5 )
编码之初 ASCII 国际化 第二种国际化 HTTP 之 URL 编码 HTTP 之 BASE64 编码 字体 编码之初
ASCII –  最初的 128 个字符 长度 一个字 ( 8 位) 最高位用作校验位  2 7  = 128 范围 00 ~ 7F
编码之初 ASCII 国际化 第二种国际化 HTTP 之 URL 编码 HTTP 之 BASE64 编码 字体 编码之初
国际化 – 扩充 ASCII ISO8859  编码标准集合 … ASCII 德法 (Latin-1) ISO8859-1 ASCII 东欧 (Latin-2) ISO8859-2 ASCII 阿拉伯 (Arabic) ISO8859-6 ASCII 希腊 (Greek) ISO8859-7
ISO8859  (拉丁字符集) 子集的不兼容 D9 -> ?  ( ISO8859-1 )西欧 D9 -> Ω  ( ISO8859-7 )希腊 单字节  0  ~  255 ISO8859 不兼容东亚字符
国际化 – 再次扩充 ASCII 东亚字符集 … ASCII 简体中文 GB2312-80 ASCII 繁体中文 BIG5 ASCII 日文 SJIS
东亚字符集  -ISO8859 的悲剧重演 子集的不兼容 B8A1 ->  腹  ( BIG5 ) 繁体中文 B8A1 ->  浮  ( GB2312 ) 简体中文 双字节 与 ISO8859 各编码集不兼容
导致的悲剧 一段文本无法同时使用多种语言 一段文本无法同时使用简体和繁体
GBK –  简体 / 繁体编码的兼容 微软单方面对 GB2312 的扩充 – 双字节 GBK 的范围 GB2312 中全部字符(兼容) BIG5 全部字符(不兼容) 自定义区( windows.GBK ~= UNIX.GBK ) ASCII 简 / 繁体中文 GB2312 GBK
GB18030 –  多民族语言的补充 对 GB2312 的更大扩充  1 、 2 、 4 字节 GB18030 的范围 日文字符集 韩文字符集 简体 / 繁体中文 + 藏文 / 满文等 ASCII 简 / 繁 / 民族文字 GB2312 GBK GB18030
“ 字符集”与 “编码” 字符集 一组具有共同特征抽象字符的集合   英文字符集 ISO8859 、 CJK 繁体字字符集  简体字字符集 日文汉字字符集  日文假名字符集 编码  字符和二进制内码的对应码表 ASCII ISO8859-1 GB2312
“ 字符集”与 “编码” 同一种字符集的不同编码 CJK -> GB13000 CJK -> utf-8 同一种编码可以实现多个字符集 GB18030 ->  简体中文 GB18030 ->  繁体中文 GB18030 ->  英文字符集
编码之初 ASCII 国际化 第二种国际化 HTTP 之 URL 编码 HTTP 之 BASE64 编码 字体 编码之初
不兼容的悲剧 一段文本无法同时使用多种语言 一段文本无法同时使用简体和繁体
第二种国际化 –  Unicode(2.0+) 万国码 -Unicode 一种国际字符集,包含世界上绝大多数已知的字符集 定义一种编码“规则” , 该集中每个字符唯一对应一个 32 位数值 Unicode 是包含字符集和码表的一个东西 Unicode 码表是具体编码的参照
又一个悲剧 Unicode 的不同编码对 ASCII 的兼容不统一 UTF-8 兼容 ASCII UTF-16/32 不兼容 ASCII Unicode 裸码需要四个字节描述一个字符
不是悲剧 多种语言共存 全球通用 Yahoo – Global Taobao – China only
UTF ( Unicode Translation Format  ) UTF - Unicode 的存储 裸存 将每个字符按照 4 个字存储 UTF-8  不同范围的字符使用不同长度的编码  UTF-16  始终使用 2 个字节存储一个字符 UTF-32  始终使用 4 个字节存储一个字符 UTF-32 码表和 Unicode 码表是等价的 UTF-8 的中文字符存储占 3 个字
更多: Javascript 内码采用 unicode 裸码 alert(' 淘宝  '.length) == 2 得到字符的 10 位 unicode 编码 alert(" 淘 ".charCodeAt()) 得到字符的标准 unicode 编码 ( 低位 ) alert(escape(' 淘 ').replace(/(u|%)/g,'')) 得到字符的 UTF8 编码 alert(encodeURI(' 淘 ').replace(/%/g,''))
编码之初 ASCII 国际化 第二种国际化 HTTP 之 URL 编码 HTTP 之 BASE64 编码 字体 编码之初
URL Uniform Resource Locator 统一资源定位符  URL 不受国别、语言差异的约束 是编码无关的  RFC 1738 URL 必须由英文字母、数字、和某些标点符号组成
非法的 URL http://www./s?wd= 淘宝
对 URL 进行编码 浏览器会对 URL 进行编码 ‘ 淘宝’ -> "%E6%B7%98%E5%AE%9D"  ‘ 淘宝’ -> "%CC%D4%B1%A6"(gb) ‘ 淘宝’ -> "%6D%D8%5B%9D"(unicode) 影响 URL 编码的因素 系统编码 浏览器类型 web 页面编码 (form)
不同浏览器的地址栏 URL 编码 Firefox IE
Firefox -  地址栏 URL 编码 http:// www./s?wd = 淘宝 GB 编码
IE - 地址栏 URL 编码 http:// www./s?wd = 淘宝 GB 裸码
地址栏 URL 编码 Firefox 进行 URL 编码,编码方式和系统编码一致 IE 直接发送 URL 裸码,裸码编码和系统编码一致
Form 表单中的 URL 编码 GB 系页面 UTF- 8页面
GBK Form 表单提交 URL 编码 http://www.   中搜索“淘宝” GB 编码
UTF8 Form 表单提交 URL 编码 http://www.google.com.hk   搜索“淘宝”   UTF-8 编码
Form 表单提交 URL 编码 GB 系页面 URL 编码和页面编码保持一致, gb 系编码 Utf-8 页面 URL 编码和页面编码保持一致, utf-8 编码
不同应用对 URL 编码的接收处理 百度 http://www.   谷歌 http://www.google.com   “ 淘宝”的 URL 编码 Utf-8  “%E6%B7%98%E5%AE%9D”  GB 系  "%CC%D4%B1%A6"
百度不支持 UTF-8 URL 编码 http://www./s?wd=%E6%B7%98%E5%AE%9D
百度支持 GB URL 编码 http://www./s?wd=%CC%D4%B1%A6
Google 支持 UTF8 URL 编码 http://www.google.com.hk/search?q=%E6%B7%98%E5%AE%9D
Google 支持 GB URL 编码 http://www.google.com.hk/search?q=%CC%D4%B1%A6
不同应用对 URL 编码的支持 百度  支持 gb 系  URL 编码 不支持 utf-8 URL 编码 谷歌 支持 gb 系  URL 编码 支持 utf-8 URL 编码 淘宝?
Ajax 中的 URL encode Javascript 的 urlEncode 始终采用 utf-8 编码 encodeURI(' 淘宝 ')  == "%E6%B7%98%E5%AE%9D"
编码之初 ASCII 国际化 第二种国际化 HTTP 之 URL 编码 HTTP 之 BASE64 编码 字体 编码之初
BASE64 BASE64 和编码表不同,它是一种转换算法 BASE64 的目的 可见明文传输  回车、空格、二进制数据  ->  明文 编码采用 ASCII 字符集 防止编码范围溢出
Data URI  ( ie 不支持) 在页面中嵌入二进制 data 通过 css 嵌入 <img src=/slideshow/ss-3812216/3812216/&quot;data:image/gif;base64,R0lGODlhAQABAIAAAJRDvAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==&quot; /> body{ background:url(data:image/gif;base64,R0lGODlhAQABAIAAAJRDvAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==);}
编码之初 ASCII 国际化 第二种国际化 HTTP 之 URL 编码 HTTP 之 BASE64 编码 字体 编码之初
字体的显示( windows 系统) CCD4 GBK( 环境相关 ) 码表 淘 操作系统 淘 点阵 6DD8 字符映射表 GBK 编码 unicode 编码
字符映射表 字体映射表基于 unicode
乱码的根源 编码表选择错误 字体错误
编码之初 ASCII 国际化 第二种国际化 HTTP 之 URL 编码 HTTP 之 BASE64 编码 字体 编码之初
表象 OS 中字符代码的表现形式 Windows 中,文本编辑可选编码
表象 ANSI :双字节编码的统称 简体中文系统中,指代 GB2312 编码 日文系统中,指代 JIS 编码 开发中如果页面存为 GB ,就选择 ANSI Unicode 和 unicode big endian 对于字节存储分别采用反序和正序
表象 HTTP 协议中的编码设置
表象 页面中的编码设置 charset 放置在 title 之前
表象 不同编码的外部脚本引入页面
本质 一码是一码
参考 BIG5 码表  http://www.geo.ntnu.edu.tw/faculty/hchou/class/ntptc/gis/code&translate.htm   GB2312 码表 http://www.knowsky.com/resource/gb2312tbl.htm   Gbk 码表 http://58.248.189.53/SchoolWeb/hzdwzx/xxzy/xxzy-kj/xxzy-xx/xxzy-xx1/xxzy-xx1-1/HAIZI/GBK2.htm   Unicode 的中日韩部分码表 http://www.chi2ko.com/tool/CJK.htm   Iso8859 http://en.wikipedia.org/wiki/ISO/IEC_8859
Q&A

More Related Content

Viewers also liked (7)

La era de la imagenLa era de la imagen
La era de la imagen
Diego Carrera
?
Krysten Ashley's UCP Experience
Krysten Ashley's UCP ExperienceKrysten Ashley's UCP Experience
Krysten Ashley's UCP Experience
krystenl
?
Activism Project
Activism ProjectActivism Project
Activism Project
nistlm
?
LA ETICA DEL DISE?ADOR GRAFICOLA ETICA DEL DISE?ADOR GRAFICO
LA ETICA DEL DISE?ADOR GRAFICO
Diego Carrera
?
Activism power point
Activism power pointActivism power point
Activism power point
nistlm
?
Social Media
Social MediaSocial Media
Social Media
guestc26346
?
Assignment 2
Assignment 2Assignment 2
Assignment 2
Liz Andrea Espino
?
La era de la imagenLa era de la imagen
La era de la imagen
Diego Carrera
?
Krysten Ashley's UCP Experience
Krysten Ashley's UCP ExperienceKrysten Ashley's UCP Experience
Krysten Ashley's UCP Experience
krystenl
?
Activism Project
Activism ProjectActivism Project
Activism Project
nistlm
?
LA ETICA DEL DISE?ADOR GRAFICOLA ETICA DEL DISE?ADOR GRAFICO
LA ETICA DEL DISE?ADOR GRAFICO
Diego Carrera
?
Activism power point
Activism power pointActivism power point
Activism power point
nistlm
?

Similar to 编码大全 (16)

Character Encoding - Concepts and Practices
Character Encoding - Concepts and PracticesCharacter Encoding - Concepts and Practices
Character Encoding - Concepts and Practices
rogeryi
?
贰谤濒补苍驳开发及应用
贰谤濒补苍驳开发及应用贰谤濒补苍驳开发及应用
贰谤濒补苍驳开发及应用
litaocheng
?
字符集与编码
字符集与编码字符集与编码
字符集与编码
lilizhang
?
Character Encoding and Database Transcoding Project
Character Encoding and Database Transcoding ProjectCharacter Encoding and Database Transcoding Project
Character Encoding and Database Transcoding Project
Ho Kim
?
腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3
topgeek
?
腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3
areyouok
?
認識 RoBoard 硬體
認識 RoBoard 硬體認識 RoBoard 硬體
認識 RoBoard 硬體
roboard
?
搜狐Pv insight(py)技术交流
搜狐Pv insight(py)技术交流搜狐Pv insight(py)技术交流
搜狐Pv insight(py)技术交流
jondynet
?
搜狐Pv insight(py)技术交流
搜狐Pv insight(py)技术交流搜狐Pv insight(py)技术交流
搜狐Pv insight(py)技术交流
bj
?
在 golang 中透過組合語言實作 SIMD
在 golang 中透過組合語言實作 SIMD在 golang 中透過組合語言實作 SIMD
在 golang 中透過組合語言實作 SIMD
YangHao Yuan
?
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)
ziggear
?
2016-04-07-清大-国际化开源专案技术实务与经验分享
2016-04-07-清大-国际化开源专案技术实务与经验分享2016-04-07-清大-国际化开源专案技术实务与经验分享
2016-04-07-清大-国际化开源专案技术实务与经验分享
Jen Yee Hong
?
IMSP SMS平台提供客戶端以HTTP protocol發送簡訊功能。本文件提供客戶端程式與IMSP SMS Server連接時之資料傳遞格式說明及其他...
IMSP SMS平台提供客戶端以HTTP protocol發送簡訊功能。本文件提供客戶端程式與IMSP SMS Server連接時之資料傳遞格式說明及其他...IMSP SMS平台提供客戶端以HTTP protocol發送簡訊功能。本文件提供客戶端程式與IMSP SMS Server連接時之資料傳遞格式說明及其他...
IMSP SMS平台提供客戶端以HTTP protocol發送簡訊功能。本文件提供客戶端程式與IMSP SMS Server連接時之資料傳遞格式說明及其他...
whitexp
?
辫测迟丑辞苍中文处理
辫测迟丑辞苍中文处理辫测迟丑辞苍中文处理
辫测迟丑辞苍中文处理
roamin9 Zhou
?
Character Encoding - Concepts and Practices
Character Encoding - Concepts and PracticesCharacter Encoding - Concepts and Practices
Character Encoding - Concepts and Practices
rogeryi
?
贰谤濒补苍驳开发及应用
贰谤濒补苍驳开发及应用贰谤濒补苍驳开发及应用
贰谤濒补苍驳开发及应用
litaocheng
?
字符集与编码
字符集与编码字符集与编码
字符集与编码
lilizhang
?
Character Encoding and Database Transcoding Project
Character Encoding and Database Transcoding ProjectCharacter Encoding and Database Transcoding Project
Character Encoding and Database Transcoding Project
Ho Kim
?
腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3
topgeek
?
腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3
areyouok
?
認識 RoBoard 硬體
認識 RoBoard 硬體認識 RoBoard 硬體
認識 RoBoard 硬體
roboard
?
搜狐Pv insight(py)技术交流
搜狐Pv insight(py)技术交流搜狐Pv insight(py)技术交流
搜狐Pv insight(py)技术交流
jondynet
?
搜狐Pv insight(py)技术交流
搜狐Pv insight(py)技术交流搜狐Pv insight(py)技术交流
搜狐Pv insight(py)技术交流
bj
?
在 golang 中透過組合語言實作 SIMD
在 golang 中透過組合語言實作 SIMD在 golang 中透過組合語言實作 SIMD
在 golang 中透過組合語言實作 SIMD
YangHao Yuan
?
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)
ziggear
?
2016-04-07-清大-国际化开源专案技术实务与经验分享
2016-04-07-清大-国际化开源专案技术实务与经验分享2016-04-07-清大-国际化开源专案技术实务与经验分享
2016-04-07-清大-国际化开源专案技术实务与经验分享
Jen Yee Hong
?
IMSP SMS平台提供客戶端以HTTP protocol發送簡訊功能。本文件提供客戶端程式與IMSP SMS Server連接時之資料傳遞格式說明及其他...
IMSP SMS平台提供客戶端以HTTP protocol發送簡訊功能。本文件提供客戶端程式與IMSP SMS Server連接時之資料傳遞格式說明及其他...IMSP SMS平台提供客戶端以HTTP protocol發送簡訊功能。本文件提供客戶端程式與IMSP SMS Server連接時之資料傳遞格式說明及其他...
IMSP SMS平台提供客戶端以HTTP protocol發送簡訊功能。本文件提供客戶端程式與IMSP SMS Server連接時之資料傳遞格式說明及其他...
whitexp
?
辫测迟丑辞苍中文处理
辫测迟丑辞苍中文处理辫测迟丑辞苍中文处理
辫测迟丑辞苍中文处理
roamin9 Zhou
?

编码大全