`
specialbrian
  • 浏览: 60897 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

字符编码 ascii unicode utf-8 gb2312

 
阅读更多
一、
1.  
最早,只有ascii码,美国使用。

1个字节8位,只用了后7位(0-127),表示了英语中一般的字符以及数字、字母;


2.
计算机普及,中国对ascii码进行扩展GB2312,两个字节表示一个汉字(原ascii码的英文继续由1个字节表示);

注意:如果说汉字的ascii码,其实指的是gb2312

3.
越来越多的国家都使用计算机,提出一套支持地球上所有文化、字母、字符的编码Unicode:
2个字节表示一个字符(原ascii码的英文也需要两个字节,高位全为0);

识别unicode的方法就是在ultraedit的16进制编辑模式下查看起编码一般以FF FE开头的

4.
后来随着网络的普及,在网络上传输数据,出现众多的UTF(UCS Transfer Format)标准,其中utf8每次8个位传输数据。

对于英文其utf8的编码与ascii一样;
对于汉字通常utf8编码为3个字节;


二、
注意:
对于中文来讲,gb2312和unicode都是2个字节表示中文一个汉字,但编码完全不一样,且无规律可循,需要查表。
当然!根据下面的方法可以轻松知道汉字的gb2312和unicode分别为什么

三、
unicode与utf8的转换规则:

Unicode 
UTF-8 

0000 - 007F 
0xxxxxxx 

0080 - 07FF 
110xxxxx 10xxxxxx 

0800 - FFFF 
1110xxxx 10xxxxxx 10xxxxxx 

因此
对于英文来讲,由于其unicode高位全为0属于0000 - 007F段,因此其utf8对应0xxxxxxx ,即还是其ascii码;
中文,utf8则有可能为2个字节或3个字节;


四、
ascii, gb2312, unicode, utf8各个特点:

如果表示英文:

ascii码1个英文字符1个字节;
<使用记事本输入hello,save as 为ansi码格式;再使用ultraedit打开,选择16进制编辑模式,可以看到68,65,6c,6c,6f    很明显1个字符1个字节表示>

unicode码1个英文字符2个字节;
<使用记事本输入hello,save as 为unicode码格式;再使用ultraedit打开,选择16进制编辑模式,可以看到
FF FE 68 00, 65 00, 6c 00, 6c 00, 6f 00

最高2个字节FF FE高位在后,如果为FE FF则表示高位在前
代表后面1个字符2个字节表示,且高字节位全为0,低字节位和ansi码一样>


如果表示中文:

gb2312码1个中文字符2个字节;
<使用记事本输入“汉”,save as 为ansi码格式(其实也就是gb2312);再使用ultraedit打开,选择16进制编辑模式,可以看到BA BA   很明显1个字符2个字节表示>

unicode码1个中文字符2个字节;(但与gb2312完全不同,无规律可循,只能查表)
<使用记事本输入“汉”,save as 为unicode码格式;再使用ultraedit打开,选择16进制编辑模式,可以看到
FF FE 49 6c
最高2个字节FF FE高位在后,如果为FE FF则表示高位在前
代表后面1个字符2个字节表示,可以看到与gb2312的BABA完全不一样>

五、
实际使用过程中,这四种编码有时会混在一起:
实际来讲中文是没有ascii码的,因为1个字节不够表示中文,如果讲中文保存为ascii码格式其实指的是gb2312;
有事也将unicode与utf8相混淆,指代同一个东西,因为两者可以互相转化。

六、
utf8编码格式的获取:

可以根据unicode到utf8的转换规则来计算;(即实现了utf16To8, utf8To16);

可以使用ultraedit的编码转换功能:
首先注意:
使用记事本编辑并选择保存save as为utf8,但到ultraedit中打开,其实都是unicode格式,而不是真正的utf8;
需要转换为utf8可以
选择“文件”-“转换”:常用的从上往下(对于汉字来讲这里的ascii就是gb2312)

ascii转unicode
utf8转unicode

unicode转ascii
utf8转ascii

ascii转utf8                                   (其实是ascii转unicode)
unicode/utf8转utf8                     (其实unicode并没有变)
unicode/ascii/utf8转utf8             (实现真正的unicode或ascii转为utf8)
分享到:
评论

相关推荐

    编码查询 各种文本转到 unicode utf-8 gb2312 编码 unicode utf-8 gb2312 编码转换到文字

    本文将深入探讨“编码查询”这一主题,包括Unicode、UTF-8和GB2312编码之间的转换,并讨论如何将这些编码转换为可读的文字。 首先,我们要理解编码的基本概念。编码是将字符(如字母、数字、符号)转化为二进制表示...

    汉字字符编码(utf-8 unicode gb2312)

    汉字字符编码是计算机处理汉字时的关键技术,涉及到不同的编码标准,如UTF-8、Unicode和GB2312。这些编码方式各有特点,各有应用场景,理解它们有助于在处理中文字符时避免乱码问题。 首先,让我们来详细了解这些...

    UTF-8 Unicode GBK GB2312 编码之间的区别和联系

    本文将详细介绍UTF-8、Unicode、GBK以及GB2312这几种常见的字符编码方式,并探讨它们之间的区别与联系。 #### 二、基础知识 在深入讨论之前,我们需要先理解几个基本概念: 1. **字符编码**:是一种系统化的规则...

    utf-8 互转 gb2312 转码

    "UTF-8"和"GB2312"是两种常见的字符编码标准,它们各自有不同的历史背景和应用场景。 UTF-8(8位Unicode转换格式)是一种广泛使用的多字节字符编码方案,它兼容ASCII编码并能表示Unicode字符集中的所有字符。UTF-8...

    ASCII Unicode 和UTF-8区别

    ASCII 码、Unicode 和 UTF-8 之间的关系是,ASCII 码是一种早期的字符编码标准,但只能表示英语字符和一些控制符号,Unicode 是一种所有符号的编码,而 UTF-8 是 Unicode 的一种实现方式,是互联网上使用最广的一种 ...

    UTF-8与GB2312之间的互换类.rar_ UTF-8toGB2312_UTF-8 GB2312_gb2312_mmi_ch

    标题中的"UTF-8与GB2312之间的互换类.rar_ UTF-8toGB2312_UTF-8 GB2312_gb2312_mmi_ch"指的是一个能够帮助开发者在UTF-8和GB2312两种编码格式之间进行转换的程序类库。这个压缩包可能包含了源代码文件,使得用户可以...

    ASCII 及UTF-8 与字符互相转换

    ASCII 和 UTF-8 是两种广泛使用的字符编码标准,它们在计算机科学中扮演着重要的角色,尤其是在文本处理和数据传输方面。这两个编码系统都是为了将人类可读的字符转化为计算机可以理解的形式,但它们的设计和使用...

    GB2312转UTF-8(C代码)

    GB2312和UTF-8是两种不同的字符编码标准,它们各自有其特点和适用范围。本资源提供了一个C语言实现的GB2312到UTF-8的转换函数,方便开发者在需要进行这种编码转换时使用。 GB2312是中国大陆早期广泛使用的简体中文...

    gb2312,utf-8,utf-8-bom等编码格式的互相转换

    本文将深入探讨几种常见的编码格式,如GB2312、UTF-8以及UTF-8-BOM,并详细讲解如何在C#中进行这些编码格式之间的转换,同时会涉及到与Stream相关的操作。 GB2312,全称为“国标汉字编码字符集”,是中国大陆广泛...

    utf8_gb2312.zip

    本主题聚焦于“utf8_gb2312.zip”这个压缩包文件,它涉及到了字符编码标准UTF-8和GB2312,以及它们在ESP8266微控制器上的应用。下面我们将深入探讨这些知识点。 首先,让我们了解UTF-8和GB2312两种字符编码。UTF-8...

    批量转 GBK 转 UTF-8 gb2312 Iso-8959-1 转 UTF-8

    GBK、GB2312、ISO-8859-1和UTF-8是四种常见的字符编码标准,每种都有其特定的应用场景和特点。让我们深入探讨这些编码系统以及如何进行批量转换。 首先,GBK(Great Chinese Background)是中国大陆广泛使用的字符...

    gb2312_unicode_utf8汉字编码对照表

    ### gb2312、Unicode与UTF-8汉字编码对照解析 #### 一、引言 随着信息技术的发展,字符编码成为计算机科学中的一个重要概念。不同的字符集和编码方式被广泛应用于各种场合,其中gb2312、Unicode以及UTF-8是较为...

    字符编码转换类,支持 ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom互相转换

    本文将深入探讨PHP中的字符编码转换,特别是针对ANSI、Unicode(包括Little Endian和Big Endian)、UTF-8以及UTF-8+BOM的转换。 首先,让我们了解这些编码格式的含义: 1. ANSI编码:通常指的是Windows系统的默认...

    字符编码笔记:ASCII-Unicode和UTF-8

    字符编码笔记:ASCII、Unicode 和 UTF-8 本文主要介绍了字符编码的基本概念和历史发展过程,包括 ASCII 码、Unicode 和 UTF-8 的编码原理和特点。文章首先介绍了 ASCII 码的历史和编码原理,然后讨论了非 ASCII ...

    字符编码笔记:ASCII,Unicode和UTF-8

    ### 字符编码笔记:ASCII,Unicode和UTF-8 #### 1. ASCII码 ASCII码是上个世纪60年代由美国制定的一套字符编码标准,用于规定英语字符与计算机内部二进制位之间的关系。在计算机内部,信息通常以二进制形式存在,...

    字符集Unicode与UTF-8之间的转换

    在UTF-8中,如果一个字符的字节小于0x80(128),则为ASCII字符,占一个字节,可以不用转换,因为UTF-8兼容ASCII编码。 例如,在Unicode中,汉字“你”的编码为“u4F60”,将其转换为二进制为100111101100000。然后...

    字符编码转换(GB2312,UTF-8,UNICODE)

    本文将深入探讨GB2312、UTF-8和UNICODE这三种常见的字符编码,并介绍如何进行编码转换。 1. GB2312编码:GB2312,全称为“汉字国标交换码”,是中国大陆于1980年制定的一套汉字编码标准。它主要用于简体中文,包含...

    趣谈Unicode、Ascii、utf-8、GB2312、GBK等编码学问_.docx

    本文将从头讲解编码的故事,包括 Unicode、Ascii、utf-8、GB2312、GBK 等编码标准的由来和发展。 首先,让我们从基本的概念开始。计算机使用字节来存储信息,而字节是由 8 个可以开合的晶体管组合成的。这些字节...

    UNICODE与UTF-8转换

    UNICODE和UTF-8是两种广泛使用的字符编码标准,它们各自有着独特的特性和应用场景。本文将深入探讨UNICODE与UTF-8之间的关系、区别以及如何进行相互转换。 **一、UNICODE简介** UNICODE,全称是“统一码”或“万国...

    js gb2312和utf-8互转

    由于直接的UTF-8到GB2312的转换较为复杂,通常的做法是先将UTF-8字符串转换为Unicode格式,然后再从Unicode转换为GB2312。具体实现可以参考相关库或者利用现有的工具函数完成这一过程。 通过上述步骤,我们可以在...

Global site tag (gtag.js) - Google Analytics