社区
Java SE
帖子详情
1个字符=2个字节?晕了。。。
computerlibin
2012-01-07 11:33:30
最近学java学的有点乱,书上说char类型长度为2个字节,加入我声明char c='张',我用utf-8编码此java文件,utf-8中一个汉字不是3个字节吗?那么3个字节怎么存到长度为2的c中?
...全文
193
9
打赏
收藏
1个字符=2个字节?晕了。。。
最近学java学的有点乱,书上说char类型长度为2个字节,加入我声明char c='张',我用utf-8编码此java文件,utf-8中一个汉字不是3个字节吗?那么3个字节怎么存到长度为2的c中?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
c_x_w1226
2012-01-08
打赏
举报
回复
3、6楼的姐姐讲的太好了,一看就明白了!!!
学习了!!!
computerlibin
2012-01-08
打赏
举报
回复
明白了,讲得很清楚,谢谢啦![Quote=引用 6 楼 alexandertech 的回复:]
引用 4 楼 computerlibin 的回复:
我这样理解对吗?如果我用utf-8编码char的话,那么.java文件中的中文char在磁盘上是用3个字节来存储的,但当把.java文件编译为.class文件时这个中文char会被转化为2个字节的unicode编码。这就是你说的两个场合吧?
要注意的是,内存中的中文字符来源未必一定来自class文件,也可能来自运行时才读入的数据,比……
[/Quote]
飞跃颠峰
2012-01-08
打赏
举报
回复
[Quote=引用 4 楼 computerlibin 的回复:]
我这样理解对吗?如果我用utf-8编码char的话,那么.java文件中的中文char在磁盘上是用3个字节来存储的,但当把.java文件编译为.class文件时这个中文char会被转化为2个字节的unicode编码。这就是你说的两个场合吧?
[/Quote]
要注意的是,内存中的中文字符来源未必一定来自class文件,也可能来自运行时才读入的数据,比如程序运行时从磁盘打开一个数据文件读入内存。
我不能确定class文件中它的编码规则,也许跟编译时指定的字符集有关。但如果它来自.class文件,class文件中是以何种方式编码也是无关紧要的。因为无论它来自哪里,在内存中都是2个字节的unicode编码。
computerlibin
2012-01-08
打赏
举报
回复
有点长,明天再看,谢谢![Quote=引用 2 楼 ldh911 的回复:]
看看这里就知道了:
http://zh.wikipedia.org/wiki/UTF-8
——其他极少使用的Unicode 辅助平面的字符使用四字节编码。
[/Quote]
computerlibin
2012-01-08
打赏
举报
回复
[Quote=引用 3 楼 alexandertech 的回复:]
utf-8汉字确实是3个字节
所以如果你用utf-8编码此java文件,java源码文件(.java)中汉字是三个字节
java程序在JVM中运行时,每个char以Jvm内置的Unicode编码,在内存中占2个字节,Jvm会自动转码的
磁盘上的java源程序和执行时的内存存储器,这两个场合你要区分清楚。
事实上在内存中占几个字节无所谓,因为肉眼无法看到,保存到磁盘文件中或者传输给网页显示……
[/Quote]
我这样理解对吗?如果我用utf-8编码char的话,那么.java文件中的中文char在磁盘上是用3个字节来存储的,但当把.java文件编译为.class文件时这个中文char会被转化为2个字节的unicode编码。这就是你说的两个场合吧?
飞跃颠峰
2012-01-07
打赏
举报
回复
utf-8汉字确实是3个字节
所以如果你用utf-8编码此java文件,java源码文件(.java)中汉字是三个字节
java程序在JVM中运行时,每个char以Jvm内置的Unicode编码,在内存中占2个字节,Jvm会自动转码的
磁盘上的java源程序和执行时的内存存储器,这两个场合你要区分清楚。
事实上在内存中占几个字节无所谓,因为肉眼无法看到,保存到磁盘文件中或者传输给网页显示时才比较重要。
MiceRice
2012-01-07
打赏
举报
回复
看看这里就知道了:
http://zh.wikipedia.org/wiki/UTF-8
——其他极少使用的Unicode 辅助平面的字符使用四字节编码。
MiceRice
2012-01-07
打赏
举报
回复
UTF-8存储汉字是变长的,长度在 2~3个字节。
Unicode字符集与多
字节
字符集
当一个软件打开一个文本时,它要...Unicode字符集和多
字节
字符集关系//推荐看这一个,先看的前一个,把我头看
晕
了= 多
字节
字符集与Unicode字符集其中有wchar_t与char类型间的转换 CString的使用 以下内容参考c++入门经
字节
、字符、以及字符集的说明
(二)“字符”的定义字符是指计算机中使用的文字和符号,比如1、2、3、A、B、C、~!·#¥%……—*()——+、等等。(三)“
字节
”与“字符”它们完全不是一个位面的概念,所以两者之间没有“区别”这个说法。不同...
python中int占几个
字节
_Python中的整型占多少个
字节
?
32位整型顾名思义,占用32个位也就是4个
字节
,取值范围−2,147,483,648~ 2,147,483,647 。C/C++中是4个
字节
,Java中也是4个
字节
,但是Python中呢?我们知道Python中也有int类,而且非常好用,原生支持高精度计算。...
Java 位、字符、
字节
与字符编码
至于为什么要写这个,主要是一句mmp一定要讲,绕了一上午,
晕
死 Java程序中的中文乱码问题一直是一个困扰程序员的难题,自己也不例外,早在做项目时就遇到过很多编码方式的坑,当时想填来着,但是嫌麻烦。这次终于忍...
C#
字节
、字
感觉这几天越整越乱,
晕
,歇菜!!! 今天就来看下
字节
好了,我只想说
字节
很重要!! ...看下本篇主要内容: ...第一个问题: 什么是
字节
?
字节
(Byte)是计算机信息技术用于计量存储容量和传输
Java SE
62,615
社区成员
307,318
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章