Unicode
Byte1
Byte2
Byte3
Byte4
example
U+0000-U+007F |
0xxxxxxx
|
|
|
|
'$' U+0024
→ 00100100
→ 0x24 |
U+0080-U+07FF |
110yyyxx
|
10xxxxxx
|
|
|
'¢' U+00A2
→ 11000010,10100010
→ 0xC2,0xA2 |
U+0800-U+FFFF |
1110yyyy
|
10yyyyxx
|
10xxxxxx
|
|
'€' U+20AC
→ 11100010,10000010,10101100
→ 0xE2,0x82,0xAC |
U+10000-U+10FFFF |
11110zzz
|
10zzyyyy
|
10yyyyxx
|
10xxxxxx
|
U+10ABCD
→ 11110100,10001010,10101111,10001101
→ 0xF4,0x8A,0xAF,0x8D |
binary
hex
decimal
notes
00000000-01111111 |
00-7F |
0-127 |
US-ASCII (single byte) |
10000000-10111111 |
80-BF |
128-191 |
Second, third, or fourth byte of a multi-byte sequence |
11000000-11000001 |
C0-C1 |
192-193 |
Overlong encoding: start of a 2-byte sequence, but code point <= 127 |
11000010-11011111 |
C2-DF |
194-223 |
Start of 2-byte sequence |
11100000-11101111 |
E0-EF |
224-239 |
Start of 3-byte sequence |
11110000-11110100 |
F0-F4 |
240-244 |
Start of 4-byte sequence |
11110101-11110111 |
F5-F7 |
245-247 |
Restricted by RFC 3629: start of 4-byte sequence for codepoint above 10FFFF |
11111000-11111011 |
F8-FB |
248-251 |
Restricted by RFC 3629: start of 5-byte sequence |
11111100-11111101 |
FC-FD |
252-253 |
Restricted by RFC 3629: start of 6-byte sequence |
11111110-11111111 |
FE-FF |
254-255 |
Invalid: not defined by original UTF-8 specification |
UTF-8理论上最大支持六字节的字节组。并且二进制码以10开头的字节都是后续字节,而非头字节。
GBK Encoding Ranges
range
byte 1
byte 2
code points
characters
GB 18030
GBK 1.0
Codepage 936
GB 2312
Level GBK/1 |
A1–A9 |
A1–FE |
846 |
728 |
717 |
702 |
682 |
Level GBK/2 |
B0–F7 |
A1–FE |
6,768 |
6,763 |
6,763 |
6,763 |
Level GBK/3 |
81–A0 |
40–FE except 7F |
6,080 |
6,080 |
6,080 |
|
Level GBK/4 |
AA–FE |
40–A0 except 7F |
8,160 |
8,160 |
8,080 |
Level GBK/5 |
A8–A9 |
40–A0 except 7F |
192 |
166 |
166 |
user-defined |
AA–AF |
A1–FE |
564 |
|
user-defined |
F8–FE |
A1–FE |
658 |
user-defined |
A1–A7 |
40–A0 except 7F |
672 |
total:
23,940
21,897
21,886
21,791
7,445
在GBK里不会存在以80或FF开头的字节组
因此
“一下”
GBK: D2 BB CF C2
UTF-8:E4 B8 80 E4 B8 8B
将UTF-8的字节组按GBK解码时
E4 B8虽然不是汉字,但也是合法的GBK编码
80 无效GBK码,会被转为3F(显示为?号)
E4 B8 同上
8B 非有效单字节GBK(00-7F),会被转为3F
分享到:
相关推荐
在VB6.0编程环境中,有时我们需要处理不同字符编码之间的转换,例如将UTF-8编码的字符串转换为GB2312编码。UTF-8是一种广泛使用的Unicode编码,而GB2312是中国大陆常用的简体中文字符集,主要用于早期的计算机系统。...
CodeDetectorDetect File encoding, Now support UTF-8,GBK,UTF-16LE,UTF-16BE, Java检查文件编码,主要针对中文文本。目前支持 UTF-8(BOM或无BOM)、GBK、UTF-16LE、UTF-16BE单个文件或文件夹,支持编码批量转换。...
常见的字符编码有ASCII、GBK、UTF-8等。 2. **Unicode与UTF-8**: - **Unicode**:一种国际标准的字符集,它为世界上大多数字符都分配了唯一的数字码位,解决了多语言字符集不兼容的问题。 - **UTF-8**:是...
"name": "g++.exe - Build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${...
其次,GCC编译器默认编译过程是UTF-8编码,如果源文件是GBK编码,需要在编译器的编译选项中添加-finput-charset=GBK参数,来指定编译器以GBK编码解释源文件,如果源文件本身就是UTF-8编码,则无需此设置。...
2. **配置文件编码不一致**:Web应用中的`.jsp`文件、配置文件等可能采用了不同的编码格式,例如GBK或UTF-8,与Tomcat默认的编码不匹配。 3. **客户端请求头信息**:浏览器发送的请求头中包含的字符集信息与服务器端...
5. **编码支持**:考虑到不同文件可能采用不同的字符编码,Search And Replace应能识别并处理UTF-8、GBK等常见编码格式,避免因编码问题导致的乱码问题。 6. **过滤器**:用户可以通过设置文件类型或扩展名过滤器,...
一、将整个project设置编码UTF-8(UTF-8可以最大的支持国际化) windows->Preferences->general->Workspace->Text file encoding->Other框中的Text file encoding改为UTF-8。 二、对java源文件编码设置为UTF-8. ...
- `Window -> Preferences -> MyEclipse -> Files and Editors -> JSP -> Encoding -> ISO10646/UTF-8` ##### 2. 项目编码 - 右键点击项目 -> Properties -> Resources -> Text file encoding -> UTF-8: 这样设置...
FIXME How to judge UTF-8 and GBK, the * correct code should be: FileReader fr = new FileReader(new * InputStreamReader(fileName, "ENCODING")); Might let the user select the * encoding would be ...
2. **Encode模块**:`Encode`是Perl中处理编码的核心模块,它允许我们声明字符串的外部编码(如ISO-8859-1或GBK),并将它们转换为内部的UTF-8格式。`decode`和`encode`函数是这个模块的核心,分别用于解码和编码...
1. **设置Eclipse控制台编码**:进入Eclipse的`Window > Preferences > General > Console`,在`Font and Colors`下方找到`Encoding`选项,设置为UTF-8,这样Eclipse控制台就会按照UTF-8来解析输出的字符。...
UTF,全称为“Unicode Transformation Format”,是一种广泛使用的国际编码标准,它包含了世界上几乎所有的字符集,包括汉字、拉丁字母、希腊字母等,最常用的是UTF-8编码。UTF-8的特点是兼容ASCII编码,对于英文...
"python实现编码格式改变"这个主题涉及到如何将文件或字符串从一种编码转换为另一种编码,例如从UTF-8转换到GBK,或者反之。在这个过程中,我们需要了解编码的基本概念、Python中的相关函数以及如何实际操作转换。 ...
总结起来,DEDECMS v5.X FOR UCv1.0 UTF8 and GBK是一个面向商业应用的开源CMS,具有良好的多语言支持和安全性。它适合那些希望快速构建和管理网站的个人或企业,同时也为开发者提供了广阔的定制空间。通过理解和...
Eclipse是一个广泛使用的Java集成开发环境(IDE),它支持多种编码格式,包括GBK和UTF-8。GBK编码是针对简体中文的一种编码标准,而UTF-8是Unicode的一个变体,能够表示世界上几乎所有的字符集。然而,在开发过程中...
常见的文本编码有ASCII、ISO-8859-1、UTF-8、GBK等。其中,UTF-8是最广泛使用的编码,因为它支持世界上几乎所有的语言和字符。 在处理隐藏编码的TXT文件时,通常需要采用一些策略来确定其正确的编码。以下是一些...
例如,服务器返回UTF-8编码,而浏览器按照GBK解析。 2. **请求头设置不当**:Ajax请求时,如果没有正确设置`Content-Type`或`Accept`头部,服务器可能无法正确识别客户端的编码需求。 3. **响应头设置不当**:...
XMLHttpRequest对象的responseText属性返回的是以UTF-8编码的字符串。在项目中,如果服务器返回的数据采用其他编码如GB2312或GBK,可能会导致乱码。通常,开发者会倾向于整个项目统一使用UTF-8编码以简化处理,但...
1. **编码格式不一致**:服务器与客户端(浏览器)之间使用的字符编码格式不同,例如服务器使用GBK编码,而浏览器使用UTF-8编码,导致传输的中文字符无法正确解析。 2. **HTTP头设置不当**:Ajax请求未正确设置...