`
wangguorui89
  • 浏览: 318237 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

gb2312中的英文字母占几个字节?

 
阅读更多

byte[] bb="hello".getBytes("gb2312");
System.out.println("bb.length:::"+bb.length);
for(byte bb1:bb)
System.out.println((char)bb1);
运行代码得到如下结果:
bb.length:::5
h
e
l
l
o


我查了一些资料,都说gb2312中的所有字符都是用二个字节表示。如果是这样,那我上面的程序中bb字节数组的长度应该是10啊
可结果却是却是5.我想请问gb2312中的英文字母符号到底是用几个字节表示啊?

 

 

ASCII 英文一个字节
gb2312,gbk 中文两个字节,英文一个字节
在中文系统中ansi一般指gb2312或gbk
GB2312、GBK都属于双字节字符集 (DBCS)
Utf-8 中文三个字节,英文一个字节
Unicode 中文两个字节,英文两个字

 

 

嘿嘿,权威的如何解释GB2312不是sun公司,而是我们国家自己的标准啊,每一个大专、大学的任何学生,其计算机基础课程中都会详细讲解GB2312的啊。
byte[] bb="hello".getBytes("gb2312");
System.out.println("bb.length:::"+bb.length);
我查了一些资料,都说gb2312中的所有字符都是用二个字节表示。如果是这样,那我上面的程序中bb字节数组的长度应该是10啊
可结果却是却是5.我想请问gb2312中的英文字母符号到底是用几个字节表示啊?
答:GB2312中1区到15区共682个字符或图形符号都是全角方式下的字符。即:
若byte[] bb="hello".getBytes("gb2312");(注意是全角方式下),bb字节数组的长度就会是10了。
因此:gb2312中的所有字符都是用二个字节表示(是因为:它的字符都是全角方式)。gb2312中不会对半角方式下的字符编码的(这是ASCII码的事情),因此:在getBytes("gb2312");转换时,半角的字符都是一个字节,全角的同样字符才是两个字节。

分享到:
评论

相关推荐

    GB2312简体中文编码表(完整版)

    GB2312编码使用区位码形式,将每个字符编码成两个字节,第一个字节为“区码”,第二个字节为“位码”。区码的范围从0xA1到0xF7,位码的范围从0xA1到0xFE。为了与ASCII码兼容,GB2312将ASCII码字符安排在0x21-0x7E...

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

    GB2312采用了双字节编码方式,每个字符占用两个字节,适合处理简体中文文本。 2. UTF-8编码:UTF-8是Unicode Transformation Format的缩写,是一种变长的Unicode编码方式。它可以表示Unicode字符集中所有的字符,...

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

    在 DBCS 系列标准里,最大的特点是两字节长的汉字字符和一字节长的英文字符并存于同一套编码方案里,因此他们写的程序为了支持中文处理,必需要留意字串里的每一个字节的值,假如这个值是大于 127 的,那么就认为一...

    汉字GBK首字母(含生僻字)C++实现代码文件

    在GBK编码中,每个汉字或符号由两个字节表示。对于C++程序员来说,将GBK编码转换为拼音首字母是一项常见的任务,例如在搜索引擎的关键词提取或信息索引中。 该压缩包包含两个文件:GB2Alpha.cpp和GB2Alpha.h。GB2...

    日文字库Sjis码表

    SJIS编码通过使用两个字节来表示一个字符,第一个字节称为高位字节(lead byte),第二个字节称为低位字节(trail byte)。高位字节用于指示该字节序列是否代表一个双字节字符或单字节字符。 ### GBK编码 GBK编码...

    各种文字编码简介+常见的编码都有介绍[参考].pdf

    除了汉字,GB2312还包含了一些其他字符,如希腊字母、日文假名等,但不包括繁体字。EUC-CN是GB2312的另一种表现形式,两者完全相同。 GBK编码扩展了GB2312,兼容所有GB2312字符,并增加了更多汉字和其他字符,包括...

    PHP实现获取中英文首字母

    在确定了编码格式后,通过字符串的首两个字节的ASCII值计算出汉字在GB2312编码汉字库中的位置,并利用预定义的汉字到拼音首字母的对应关系表,返回相应的首字母。这个对应关系表是根据GB2312编码的汉字库顺序,将每...

    java字符集

    Unicode使用固定长度的双字节(或四字节)来表示字符,这意味着即使是英文字母也被编码为两个字节(例如,“a”在Unicode中的表示为“00 61”)。由于Unicode的这一特性,它并不兼容ISO 8859-1或其他任何编码标准。...

    字符编码基础

    GB2312是中国大陆的汉字编码标准,它使用两个字节表示一个字符,总共能表示16384个字符,但实际上只使用了6768个,包括6763个常用简体汉字和682个其他字符。每个字节的最高位都是1,高字节范围从B0到F7,低字节范围...

    PHP实现中文字符的无乱码截断.doc

    为了确保截取过程中不会产生乱码,我们需要根据字符的第一个字节来确定该字符是由几个字节组成的。 **PHP代码实现:** ```php function cut_str($sourcestr, $cutlength) { $returnstr = ''; $i = 0; $n = 0; ...

    各种编码介绍#####.doc

    GB2312使用两个字节来表示一个汉字,最多可以表示6763个汉字,但无法涵盖所有的汉字和少数民族文字。 GBK编码是在GB2312基础上的扩展,增加了对繁体中文和其他一些字符的支持,总计可以表示20902个字符。GBK编码也...

    网站编码详解(送给初级网站程序员)

    它使用两个字节表示一个汉字,对于英文字符则采用单字节表示。GB2312的局限性在于只能表示约7000个汉字,而且不支持繁体字和其他语言字符。 #### 三、国内做网站时的选择 在国内制作网站时,推荐使用**UTF-8编码**...

    有关编码的知识及各国语言编码表

    GB2312是中国制定的国标简体中文编码,它包含了6763个常用汉字,使用两个字节来表示一个汉字,这使得可以表示更多的字符。随着更多汉字的需求,GB2312演变成了GBK编码,GBK支持20902个汉字和一些其他符号,扩大了...

    UNICODE,UTF8,ANSI 等编码规范详解

    GB2312是针对ASCII的中文扩展,它使用两个字节表示一个汉字,而英文字符则仍用一个字节表示。 3. GB系列编码:GBK(Great Wall Kludge,大字符集)是GB2312的扩展,增加了更多的汉字和符号。GB18030进一步扩展了GBK...

    大话字符处理 总结

    UTF-8是一种变长的Unicode编码方式,使用1到4个字节来表示一个字符,兼容ASCII编码,且对英文文本来说非常高效。对于常见的英文字符,UTF-8只需要一个字节;对于其他语言中的字符,则可能需要更多字节。这种编码方式...

    对我帮助极大的好东西‘编码问题详解’

    编码问题详解主要涵盖编码的基本知识,特别是几种常见的字符集编码,如ISO8859-1、GB2312/GBK、Unicode以及UTF编码,以及它们在Java中的应用。 1. **编码基本知识**: - ISO8859-1是一种单字节编码,适用于英文...

    字符集和字符编码相关知识文档

    但在中文状态下,每个汉字需要两个字节,中英文不是等宽的。DBCS字符集在Windows 9x系统中被广泛采用。 3. GB2312字符集和编码: GB2312是中国国家标准的简体中文字符集,它规定了7000多个简体汉字的编码规则。每个...

    汉字编码培训 ppt

    在深入探讨之前,我们需要明确几个基本概念:ASCII码、Unicode、GB2312、GBK、GB18030以及Big5等。 首先,ASCII码是最早的基础字符编码,它只覆盖了英文和其他西欧语言的基本字母、数字和符号,无法表示汉字。随着...

    中文编码规则,一网打尽

    它使用一个字节(8位)表示一个字符,其中最高位为0,表示标准ASCII字符集,可以表示128个字符,包括大小写字母、数字、控制字符和一些特殊符号。尽管如此,ASCII只能够表示英文字符,对于像中文这样拥有成千上万...

    精彩编程与编程技巧-如何取得中英混合字符串的长度?...

    在探讨如何获取中英文混合字符串长度的过程中,我们首先需要理解几个关键的概念:字符编码、不同编程语言中的字符串处理方法以及一些具体的实现技巧。本篇文章将深入解析这些知识点,并通过具体的示例来帮助读者更好...

Global site tag (gtag.js) - Google Analytics