一个GB2312已知汉字在内存中以GB2312占多少字节

描述性分类
Discuz! X1.5后台
X-Space系列
来自站长百科
GB2312码,是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集——基本集》,由国家标准总局发布,日实施,通行于大陆。新加坡等地也使用此编码。
GB2312收录简化汉字及符号、字母、日文假名等共7445个图形字符,其中汉字占6763个。GB2312规定“对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示”,习惯上称第一个字节为“高字节”,第二个字节为“低字节”。
GB2312 将代码表分为94个区,对应第一字节;每个区94个位,对应第二字节,两个字节的值分别为区号值和位号值加32(2OH),因此也称为区位码。01-09 区为符号、数字区,16-87区为汉字区,10-15区、88-94区是有待进一步标准化的空白区。GB2312将收录的汉字分成两级:第一级是常用汉字计3755个,置于16-55区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字计3008个,置于56-87区,按部首/笔画顺序排列。故而 GB2312最多能表示6763个汉字。
GB2312的编码范围为EH,与ASCII有重叠,通行方法是将GB码两个字节的最高位置1以示区别。java中一个汉字是几个字节几个字符?_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:722,182贴子:
java中一个汉字是几个字节几个字符?收藏
职坐标java教程免费试学,学费低于市场三之一定价,入学即签订就业协议.职坐标专业从事IT教育,java教程高端学习,学成就业薪资一个月即可付清学费
你说哪种编码啊
好像是两个字节吧……好像又不止……
gbk两字节utf8通常是三个字节java用的是utf8
2-3个字节 要看编码 utf-8是3字节gbk gb2312是2个字节
GB2312两个字节,一个字符
4个,java用的标准unicode码
java是unicode编码
所以 都是2个字节而操作系统啥的 默认的是GBK
这也是2个字节网络上用的是UTF-8
这是所有编码集的超集,中文是3个字节
要看编码 utf-8是3字节gbk gb2312是2个字节
51CTO学院12年行业品牌,1600万用户选择,中国专业IT技能学习平台.java资深大牛授课,0基础从入门到精通,java报名与培训中心.
Java 的 String 用 UTF-16, 所有英文字和大部分汉字是 2 字节, 不过扩充的可能有 4 字节.JSP/HTML 输出一般用 UTF-8, 大部分汉字是 3 字节, 不过扩充的可能有 4-5 字节.GBK/GB2312/BIG5 中所有汉字都是 2 字节, 不能再扩.
看编码了.java程序中默认的是GBK编码,一个汉字两个字节,都是负数.
根据上面程序运行结果,所以说一个汉字占用两个字节
java默认 是gbk的 所以上面的代码是2个字节的
前些天我看了一个文章写得挺好,怎么找不到了
Unicode 你就当4个吧
登录百度帐号一个汉字占几个字节的问题
一个汉字占几个字节的问题大家都说一个汉字占两个字节(byte)但是为什么运行程序会得到如下结果String name="宋";int a=name.getBytes("gb2312").System.out.println(a);//a=2a=name.getBytes("utf-8").//一个汉字占3个字节System.out.println(a);//a=3a=name.getBytes("gbk").System.out.println(a);//a=2a=name.getBytes("ISO8859-1").//一个汉字占一个字节System.out.println(a);//a=1a=name.length();//一个汉字占一个长度System.out.println(a);//a=1a=name.getBytes("UNICODE").//一个汉字占一个字节System.out.println(a);//a=4java的默认编码是UNICODE吧,应该是4个字节啊------解决方案--------------------大家说的一个汉字占两字节是这样的情况,把汉字当做字符存,就是:char a = '中';这个时候就是占用两字节,,因为char类型就是2字节,,但是具体要看存储形式,,有的以unicode码,,那字节数就不是两字节了,,,, ------解决方案--------------------UNICODE 是一种字符集,在 Java 中直接使用 Unicode 转码时会按照 UTF-16LE 的方式拆分,由于 UTF-16 分为 UTF-16LE 和 UTF-16BE,也就是小端序和大端序,因此在网络传过程中,无法判断是 LE 还是 BE 序的,因此需要加上一个额外的字节序 BOM 头。BOM 头的字符是一个特殊的字符,其 Unicode 编码为 U+FEFF,字符名为“ZERO WIDTH NON-BREAKING SPACE”,根据 RFC 节规定,开头两个字节为 FE FF 的称为 Big-Endian,开头为 FF FE 的称为 Little-Endian。因此,你直接使用 Unicode 转换字节的话,也就是按 UTF-16LE 方式进行解码,会额外地加上 BOM 的两个字节 FF FE。 ------解决方案--------------------UTF-8 在设计之初就没有 BE 和 LE 的问题,只有大端序,不会存在小端序的,因此 UTF-8 的编码不需要使用 BOM 头。 ------解决方案--------------------字符集与字符编码在某种情况上来说不是一回事。Unicode 是字符集,而 UTF-8, UTF-16, UTF-32 均是对于 Unicode 字符集的编码格式。而在某些情况下来说又是一样的,比如:GB2312 既是字符集名,也是字符编码格式名。
一个汉字到底占多少字节?
关于GBK中的英文字符占用一个字节还是两个字节的问题
utf-8的中文是一个汉字占三个字节长度吗?
汉字到底占几个字节丨C
mysql和oracle的一个汉字占几个字符
细说一个汉字等于几个字符,以及汉字,字符,字节,位之间的关系
Java一个汉字占几个字节(详解与原理)(转载)
ORACLE 中汉字占几个字节?
字符与字节有什么区别
没有更多推荐了,一直都是糊里糊涂的在用,始终没有搞清楚汉字在java中占用字节个数的问题,每次都是逃避着过去了。今天一个字节编码问题让我不得不去重新认识char与汉字编码这个问题。
下面是引用一个讨论中的资料:
http://www.iteye.com/topic/47740 写道
(由于原作者将字节和位写混淆了,引用时我已做过更改)貌似一个简单的问题(也许还真是简单的)但是却把曾经自认为弄清楚的我弄得莫名其妙 char在Java中应该是16个bitbyte在Java中应该是8个bit char x = '编'; //这样是合法的,输出也是16个bit但是 String str = "编"; byte[] bytes = str.getBytes(); //我想不明白,为什么这里要占用3个byte呢? 3个byte一共是3*8=24个bit,那么char x怎么又放得下?我坚信char是16个bit, 但是str.getBytes()这个东西到底又怎么回事? 不好意思,表达有点乱,但是的确太奇怪了。希望大家能指点一下。
skydream 写道
首先,java中的一个char的确是2个字节。java采用unicode,2个字节来表示一个字符。其次,楼主你说的byte[] bytes = str.getBytes();之后是3个字节,这里和前面的概念不一样。java是用unicode来表示字符,"编"这个中文字符的unicode就是2个字节。String.getBytes(encoding)方法是获取指定编码的byte数组表示,通常gbk/gb2312是2个字节,utf-8是3个字节。如果不指定encoding则取系统默认的encoding.
kdekid 写道
首先,要搞清楚 code point 和 encoding 的区别。Java 是遵循 unicode 4.0 标准的,而内部的 character 以 utf-16 作为 encoding。unicode 4.0 标准包含从 U+0000-U+FFFF 的基本多语言平面和 U+10000-U+10FFFF 的扩展平面的文字,这是 code point。Java 的 char 类型是 16 bit 的,所以单个 char 只支持基本平面内的文字,而扩展平面的文字是由一对 char 来表示的。 而 String.getBytes() 这个方法是按照指定的 encoding 返回字符串,一般中文系统的默认编码是 utf-8 (linux, mac) 或者 gbk/gb18030 (windows)。只要是基本平面内的文字,utf-8码的中文都是3字节的,而 gbk/gbk18030 是2字节的。
浏览: 356449 次
来自: 北京
分享一个代码生成器,http://blog.csdn.net/ ...
本人写了一个带界面版的mybatis geneator,htt ...
楼主, 有 操作 xsd 字符串 跟 xml 字符串 的吗?
写道List&ResolveInfo ...
ydpiaoyun 写道你好,好像没看到数据库驱动配置的地方如 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 gb2312在线转换为汉字 的文章

 

随机推荐