java字符编码问题:常用的GBK与Unicode汉字编码在JAVA是怎样规定的?
来源:互联网 发布:java自学需要什么基础 编辑:程序博客网 时间:2024/05/05 05:11
字符集编码不是Java规定的,Java只是按照标准组织的规定来处理字符。如GBK是中国制定的国家标准信息交换用汉字编码字符集,Unicode是国际组织(http://www.unicode.org)制定的编码字符集。
而Java语言内部采用Unicode编码,请区分Java编译器对java源文件和JVM对class类文件的编码/解码过程。如:
编程人员在操作系统上用编辑软件来实现源程序代码并以.java扩展名保存在操作系统中,例如用记事本编辑一个java源程序;程序文件在保存时默认采用了操作系统默认支持的编码格式(操作系统默认支持的格式为file.encoding格式)形成了一个.java文件,也即,java程序在被编译前,Java源程序文件是采用操作系统默认支持的file.encoding编码格式保存的,Java源程序中含有中文信息字符和英文程序代码;要查看系统的file.encoding参数:
编程人员用JDK中的javac.exe来编译这些源代码,形成.class类;用JDK的javac.exe编译Java源程序,在编译的时候,如果没有用-encoding参数指定JAVA源程序的编码格式,则javac.exe首先获得操作系统默认采用的编码格式,也即在编译java程序时,若不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式),然后JDK就把java源程序从file.encoding编码格式转化为Java内部默认的Unicode格式保存到操作系统中形成我们见到的.class文件。最终获得的.class文件是内容以Unicode编码格式保存的类文件,它内部包含源程序中的中文字符串,只不过此时它己经由file.encoding格式转化为Unicode格式了。
最后说一句每种编码都限定了一个明确的字符集合
下面就是转换操作:
而Java语言内部采用Unicode编码,请区分Java编译器对java源文件和JVM对class类文件的编码/解码过程。如:
编程人员在操作系统上用编辑软件来实现源程序代码并以.java扩展名保存在操作系统中,例如用记事本编辑一个java源程序;程序文件在保存时默认采用了操作系统默认支持的编码格式(操作系统默认支持的格式为file.encoding格式)形成了一个.java文件,也即,java程序在被编译前,Java源程序文件是采用操作系统默认支持的file.encoding编码格式保存的,Java源程序中含有中文信息字符和英文程序代码;要查看系统的file.encoding参数:
1
String encoding = System.getProperty(
"file.encoding"
);
编程人员用JDK中的javac.exe来编译这些源代码,形成.class类;用JDK的javac.exe编译Java源程序,在编译的时候,如果没有用-encoding参数指定JAVA源程序的编码格式,则javac.exe首先获得操作系统默认采用的编码格式,也即在编译java程序时,若不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式),然后JDK就把java源程序从file.encoding编码格式转化为Java内部默认的Unicode格式保存到操作系统中形成我们见到的.class文件。最终获得的.class文件是内容以Unicode编码格式保存的类文件,它内部包含源程序中的中文字符串,只不过此时它己经由file.encoding格式转化为Unicode格式了。
最后说一句每种编码都限定了一个明确的字符集合
下面就是转换操作:
0 0
- java字符编码问题:常用的GBK与Unicode汉字编码在JAVA是怎样规定的?
- java的字符编码集(UNICODE,utf-8,gbk等)
- JAVA 编码之 ASCII、Unicode、GBK和UTF-8字符编码的区别联系
- 汉字编码(【Unicode】 【UTF-8】 【Unicode与UTF-8之间的转换】 【汉字 Unicode 编码范围】【中文标点Unicode码】【GBK编码】【批量获取汉字UNICODE码】)
- 关于java源码在编译时提示:编码GBK的不可映射字符 的问题
- 用notepad++书写java,编译java程序是出现:错误: 编码GBK的不可映射字符问题的解决
- [JAVA]编码GBK的不可映射字符
- [JAVA]编码GBK的不可映射字符
- JAVA字符编码乱码问题:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
- Java中字符的Unicode编码
- 汉字字符编码的科普笔记(GB2312汉字编码,Unicode与UTF-8,字符映射表,vim,文泉驿,正则表达式)
- 汉字字符编码的科普笔记(GB2312汉字编码,Unicode与UTF-8,字符映射表,vim,文泉驿,正则表达式)
- 解决Java提示“编码GBK的不可映射字符”的问题
- 学习java遇到的问题之“编码GBK的不可映射字符”
- Java字符的编码解码与乱码问题 Java字符的编码解码与乱码问题
- java在命令行中编译代码出现 错误: 编码GBK的不可映射字符
- java 导出为doc时 解决 编码 GBK 的不可映射字符 问题
- java 错误: 编码GBK的不可映射字符等类似问题
- java 中关于System property 之 file.encoding
- array()
- 定时做快照的python测试脚本
- eclipse,myeclipse,STS等IDE字体设置
- comboBox with images
- java字符编码问题:常用的GBK与Unicode汉字编码在JAVA是怎样规定的?
- 业余活动
- SPOJ 287 Smart Network Administrator 网络流、二分答案
- Mac OS app, sandbox with command line tool?
- Tomcat控制台中文乱码和标题栏名修改
- poj 2253 floyd最短路!!!
- <一年成为Emacs高手>更新20140329版
- java数据结构和算法的学习
- 浅谈用例图、类图和序列图三者关系