`
xuepengcheng
  • 浏览: 46536 次
  • 性别: Icon_minigender_1
  • 来自: 郴州
社区版块
存档分类
最新评论

述ASCII GBK与UTF8编码范围

    博客分类:
  • PHP
阅读更多
众所周知ASCII码是使用指定的7位或8位二进制数组合来表示128或256种可能的字符。ASCII编码可以表示的最大字符数年是256,其实英文字符并没有那么多,一般只用前128个(最高位为了0),其中包括了控制字符、数字、大小写字母和其他一些符号。而最高为1的另128个字符为“扩展ACSII”。128个字符,其中0x00~0x1F(0~31)、)、0x7F(127)是控制符。其他编码0x20~0x7E(32~126)则定义实际可见的字符,包括数字、大小写英文字母、标点符号等。

GBK编码
GBK是国家标准编码,它是对gb2312的扩展,定义了包含简体中文、繁体中文、日文、韩文等所用的字符。现在常用的Windows简体中文系统默认就是使用这种编码方式来解释字符的。在编码上,GBK采用了单双字节混合的方式。它兼容ASCII,因些0x~07F部分的定义和ASCII一样。对其他字符,它使用两个字节来表示,但弟一个字符最高位必须是1,即必须是0x80~0xFF,以便在解码时和兼容ASCII的字符区别,弟二个字节则没此限制。

解码时,需要逐个字节检查具体如下:
1.如果这个字节的范围是0x00~0x7F,即最高位是0时,这个字节本身就代表一个字符,和ASCII的含义相同。
2.如果字节范围0x80~0xFF,即最高位为1时,还需要再取下一个字节,两个字节合起来才表示一个字符。GB_2312 字符集包含了 6763个的 简体汉字,和682 个标准中文符号。在这个标准中,每个汉字用2个字节来表示,每个字节的ascii码为 161-254 (16 进制A1 - FE),第一个字节 对应于 区码的1-94 区,第二个字节 对应于位码的1-94 位。

UTF8编码
在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理,三个字节则用于中文简、中文繁等。

对应UCS-2的字符  UTF-8字节数据编码/解释
U+0000 - U+007F 0*** ****(0x00~0x7F) 字节最高位为了0,则它表示一个字符,和ASCII解释一样

U+0080 - U+07FF 110* ****  10** ****(0xC0~0xDF)  字节最高三位是110,则这是双字节编码,用于其他字母字符

U+0800 - U+FFFF 1110 ****  10** ****  10** ****(0xE0~0xEF)  字节最高四位是1110,则这是三字节编码,用于其他字符,如中文简繁等
分享到:
评论

相关推荐

    c语言gbk、utf8转换编码表及函数

    本篇将详细介绍GBK与UTF-8编码的区别,以及如何在C语言中进行这两种编码的转换。 1. **GBK编码** - GBK是中国大陆广泛使用的汉字编码标准,它是GB2312的扩展,包含了更多的汉字和符号,总共约2万多个汉字。 - GBK...

    gbk与utf8互转

    如果你的网站或程序原来使用GBK编码,但在处理非中文字符或者需要与其他使用UTF-8的系统交互时,就需要进行转换。反之亦然,如果要将原本UTF-8编码的资源转换为GBK,以适应特定环境或旧系统的需要,也需要转换操作。...

    GBK与UTF8文件编码转换器

    UTF-8使用1到4个字节来表示一个字符,对于ASCII字符(如英文、数字等),UTF-8编码与ASCII编码完全一致,这使得它具有良好的向后兼容性。 "GBK转UTF8"是指将使用GBK编码的文件转换成使用UTF-8编码的过程。这个过程...

    GBK与UTF-8转码(C++)

    本文将详细介绍如何在Microsoft Foundation Classes (MFC)环境下实现GBK与UTF-8之间的编码转换。该技术适用于那些需要处理不同字符集数据的应用程序开发场景,特别是在早期Windows系统中广泛使用的MFC框架下进行编码...

    GBK 与 UTF-8 间编码转换

    相反,从UTF-8到GBK的转换则需要识别出UTF-8编码的字节序列,找到对应的Unicode码点,再查找这个码点在GBK编码中的对应双字节序列。 在进行编码转换时,需要注意以下几点: 1. 检查原始文件的编码格式,避免乱码...

    STM32 MDK utf8 gbk编码转换

    在提供的`gbk_utf8_unicode.c`和`gbk_utf8_unicode.h`文件中,可能包含了用于实现UTF-8与GBK之间转换的函数。这些函数可能包括将GBK编码的字符串转换为UTF-8,以及将UTF-8编码的字符串转换为GBK。 例如,一个可能的...

    GBK转UTF C语言 单片机

    UTF-8的最大优点是与ASCII兼容,这意味着英文和其他使用ASCII编码的字符在UTF-8下保持不变,这使得UTF-8成为互联网上最常用的字符编码。 在Keil MDK环境下,这通常涉及到的是嵌入式开发,单片机因其资源有限,通常...

    UTF-8toGBK_labview编码gbk_LabVIEWUTF-8_utf-8toGbk_

    本篇文章将详细探讨UTF-8与GBK编码,以及如何在LabVIEW环境下进行这两种编码之间的转换。 首先,UTF-8(Unicode Transformation Format - 8 bit)是一种变长的Unicode编码,它使用1到4个字节来表示一个字符。UTF-8...

    c/c++ 字符集 gbk/utf8互转,Ansi/Utf8互转 纯c实现跨平台

    综上所述,`c/c++ 字符集 gbk/utf8互转,Ansi/Utf8互转 纯c实现跨平台`涉及了字符编码理论、字符串处理和跨平台编程技术。通过理解这些知识点,并结合提供的源代码,开发者可以构建出能够在各种环境下正确处理字符...

    gbk/utf8编码互转

    UTF-8使用1到4个字节来表示一个字符,对于英文和ASCII字符,它与ASCII编码完全兼容,而对于中文等非ASCII字符,需要多个字节。UTF-8编码的优势在于跨平台兼容性和网络传输效率,因为英文字符只用一个字节,所以在...

    GBK与UTF8编码转换的QT4源码

    UTF-8最大的优点在于对ASCII字符的兼容性,前128个字符(包括英文、数字和一些标点符号)与ASCII编码相同,且在Web上广泛支持,是处理多语言文本的标准编码。 "GBK2UTF8"源码的实现主要涉及到字符编码的转换过程。...

    c gbk和 utf-8 转换

    本文将深入探讨C语言中如何实现GBK与UTF-8的互相转换,同时不依赖任何外部库。 GBK是中国大陆广泛采用的一种汉字编码标准,它是GB2312的扩展,包含了更多的汉字和符号,能够覆盖大部分中文字符。UTF-8则是一种多...

    gbk_utf8编码转化工具

    本文将详细讨论“GBK_to_UTF8”编码转换工具的相关知识点,包括编码的基本概念、GBK与UTF-8的区别以及转换工具的使用方法。 首先,让我们了解编码的基础知识。计算机只认识二进制,而人类则使用字符进行交流,因此...

    UNICODE&GBK&UTF8编码查看工具

    `UNICODE`、`GBK`和`UTF8`是三种常见的字符编码标准,每种都有其特定的应用场景和特点。接下来,我们将深入探讨这些编码格式,以及如何利用C#语言开发一个用于查看这些编码的工具。 首先,`UNICODE`,全称为Unicode...

    GBK批量转utf8(支持整个目录)

    UTF-8在互联网上被广泛采用,因为它对英文字符使用单字节,与ASCII兼容,同时也能处理各种语言的文字。 "GBK批量转utf8(支持整个目录)"这个工具正是为了解决在处理多语言文件时遇到的编码问题。当你需要将一个...

    Unicode/GBK/UTF8编码转换工具[含VB.net源码]

    对于英语和许多其他西欧语言,UTF-8使用单字节编码,与ASCII兼容;对于中文等多字节字符,UTF-8使用2或3个字节。 "Unicode/GBK/UTF8编码转换工具"的目标就是将输入的数字或中英文字符按照指定的编码格式转换成16...

    UTF-8toGBK_labview编码gbk_LabVIEWUTF-8_utf-8toGbk_源码.zip

    GBK采用双字节编码,对于英文字符,GBK使用与ASCII相同的编码,但对于中文字符,GBK编码与UTF-8不同。 LabVIEW中的字符编码转换通常涉及字符串函数,如“转换编码”函数。在这个项目中,开发者可能使用了LabVIEW的...

    gbk汉字转utf8编码的转换函数,亲测有用

    GBK和UTF-8是两种常见的字符编码标准,它们在存储和传输汉字等多语言字符时各有特点。本篇文章将详细探讨GBK到UTF-8的转换函数以及相关知识点。 GBK(Great Chinese Character Set)编码是中国大陆广泛使用的汉字...

    GBK源码转UTF8格式(QT源码)

    本文将深入探讨GBK与UTF-8的区别,以及如何在QT环境下进行源码的转换。 GBK,全称“汉字内码扩展规范”,是中国大陆地区广泛使用的汉字编码标准,它基于GB2312,并扩展了更多的字符,包括繁体字、少数民族文字等,...

    文件编码转换(utf8与gbk相互转换)

    因此,进行编码转换前,最好确认文件内容是否与目标编码兼容,或者在转换时选择一种能包容所有字符的编码(如UTF-8)。 在提供的压缩包文件“编码转换”中,可能包含了实现这种转换的工具或脚本。使用这些资源,...

Global site tag (gtag.js) - Google Analytics