- 浏览: 1010664 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (394)
- OSGI (14)
- 多线程 (10)
- 数据库 (30)
- J2ME (1)
- JAVA基础知识 (46)
- 引用包 (1)
- 设计模式 (7)
- 工作流 (2)
- Ubuntu (7)
- 搜索引擎 (6)
- QT (2)
- Ubuntu下编程 (1)
- 小程序 (2)
- UML (1)
- Servlet (10)
- spring (16)
- IM (12)
- 文档视频转为flash格式在线播放 (19)
- Maven (8)
- 远程调用 (2)
- PHPRPC (1)
- EXTJS学习 (2)
- Hibernate (16)
- 技术文章 (38)
- flex (5)
- 海量数据处理 (5)
- FTP (8)
- JS (10)
- Struts (1)
- hibernate search (13)
- JQuery (2)
- EMail (3)
- 算法 (4)
- SVN (7)
- JFreeChart (4)
- 面试 (4)
- 正规表达式 (2)
- 数据库性能优化 (10)
- JVM (6)
- Http Session Cookie (7)
- 网络 (12)
- Hadoop (2)
- 性能 (1)
最新评论
-
hy1235366:
能够随便也发一下,你退火算法程序使用的DistanceMatr ...
模拟退火算法总结(含例子)(转) -
梅强强:
感谢分享。。帮大忙了
swftools转换文件时线程堵塞问题的解决方法 -
wenlongsust:
openoffice和文件不在同一个服务器上,用过吗?
[JODConverter]word转pdf心得分享(转) -
2047699523:
如何在java Web项目中开发WebService接口htt ...
利用Java编写简单的WebService实例 -
abingpow:
唉,看起来好像很详细很不错的样子,可惜不是篇面向初学者的文章, ...
Spring与OSGi的整合(二)(转)
在JAVA源文件-->JAVAC-->Class-->Java-->getBytes()-->new String()-->显示的过程中,每一步都有编码的转换过程,这个过程总是存在的,只是有的时候用默认的参数进行。 1. JAVAC是以系统默认编码读入源文件,然后按UNICODE进行编码的。可以通过指定编码方式改变Javac读入源文件的编码方式。 2. 在JAVA运行的时候,JAVA也是采用UNICODE编码的,并且默认输入和输出的都是操作系统的默认编码。 也就是说在new String(bytes[,encode])中,系统认为输入的是编码为encode的字节流,换句话说,如果按encode来翻译bytes才能得到正确的结果,这个结果最后要在JAVA中保存,它还是要从这个encode转换成Unicode,也就是说有bytes-->encode字符-->Unicode字符的转换;而在String.getBytes([encode])中,系统要做一个Unicode字符-->encode字符-->bytes的转换。 3. Java中的编码支持 Java是支持多国编码的,在Java中,字符都是以Unicode进行存储的,比如,“你”字的Unicode编码是“4f60”,我们可以通过下面的实验代码来验证: 不管你在任何平台上执行,都会有相同的输出:20320,20320就是Unicode “4f60”的整数值。其实,你可以反编译上面的类,可以发现在生成的.class文件中字符“你”(或者其它任何中文字串)本身就是以Unicode编码进行存储的:char c = '\u4F60'; 执行上面程序将打印出: 可见,在s中提取的8859-1格式的字节数组长度为9,中文字符都变成了“63”,ASCII码为63的是“?”,一些国外的程序在国内中文环境下运行时,经常出现乱码,上面布满了“?”,就是因为编码没有进行正确处理的结果。
4. 为了避免这种问题,建议大家都在编码中使用String.getBytes(String charset)方法。
--------------
8859 bytes:
bytes is: 72 101 108 108 111 33 63 63 63
hex format is:48 65 6c 6c 6f 21 3f 3f 3f
--------------
GBK bytes:
bytes is: 72 101 108 108 111 33
-60 -29 -70 -61 -93 -95
hex format is:48 65 6c 6c 6f 21 c4 e3 ba c3 a3 a1
发表评论
-
Java线程(二):线程同步synchronized和volatile(转)
2014-03-17 00:09 918转载自:http://blog.csdn.net/ghsau ... -
浅谈Java多线程的同步问题(l转)
2014-03-17 00:07 963非常好的使用线程同步的文章 转载自http://www.c ... -
JVM的垃圾回收机制详解和调优(转)
2013-06-20 10:31 7441.JVM的gc概述 gc即垃圾 ... -
深入探讨 Java 类加载器(转)
2013-06-20 10:17 903转载自:http://www.ibm.com/develop ... -
java反射详解(推荐转)
2013-05-15 10:42 907载自:http://www.cnblogs.com/roll ... -
java静态方法、非静态代码块{}、静态代码块static{}(转)
2012-07-13 14:33 1514转自:http://www.cn-java.com/www1/ ... -
error 与 Exception区别(转)
2012-07-13 14:31 1105Error类和Exception类都继承自Throwab ... -
java面试题有哪些常见的(转)
2012-07-13 14:30 1223第一,谈谈final, finally, finaliz ... -
java Math.round()(转)
2012-07-11 14:17 1215public class MathTest { ... -
Java异常的分类(转)
2012-07-11 08:57 1073转载自:http://blog.csdn.net/ilibab ... -
java 内联函数(转)
2012-06-28 23:40 1857以前用过C++,知道它 ... -
堆栈,堆栈,堆和栈的区别(转)
2011-05-08 00:36 1213不防看看这篇文章:http://www.cppblog.com ... -
第二十章 指针 二 为指针分配和释放空间(转)
2011-05-08 00:10 1523载自<白话c++>:http://17de.com ... -
数据结构中各种时间复杂度(转)
2011-05-06 09:58 2817(1)冒泡排序 冒泡排序就是把小的元素往 ... -
C#之int挑战Java之Integer(转)
2011-04-28 14:24 1368可能有些图会看不到,可以到转载处去阅读:http://kb.c ... -
Java: 堆 & 栈(转)
2011-04-28 14:16 1429栈是运行时的单位,而堆是存储的单位。栈解决程序的运行问题,即程 ... -
native2ascii 使用方法 及 Java字符编码(转)
2011-04-18 01:17 2761在做Java开发的时候,常 ... -
Unicode,ISO-8859,GBK,UTF-8编码及相互转换(java)(转)
2011-04-18 01:15 69181、函数介绍在Java中,字符串用统一的Unicode编码 ... -
GBK与UTF-8 转换乱码详解(转)
2011-04-18 01:07 3513getBytes 的功能是将字符转换成字节数组, gbk. ... -
Java TreeMap的简单实现(转)
2011-04-18 00:29 1125TreeMap的实现与二叉搜索树显示,其对应的节点格式为 E ...
相关推荐
这里的 `getBytes` 方法用于获取字符串对应的字节数组,参数 `"GBK"` 指定了源字符串的编码方式;`new String` 构造函数则指定了目标字符串的编码方式。 #### 四、Web环境下的字符串编码转换 在Web开发中,经常...
### Java编码格式转换 在Java开发中,字符编码的转换是一项常见的需求,尤其是在处理国际化文本时。...此外,在进行编码转换时,应尽量选择能够支持更广泛字符集的编码方式(如UTF-8),以提高兼容性和可靠性。
Chardet(字符集检测)通常是基于统计模型来判断文件最有可能采用的编码方式。例如,它可以分析字节序列并根据不同的字符集概率进行匹配。这种技术在处理非UTF-8编码的文件时非常关键,因为如果没有正确识别源编码,...
在Java中,字符集主要基于Unicode,其中最常用的是UTF-8,它是一种可变长度的编码方式,能够表示几乎所有的世界语言字符。 在处理文本数据时,我们可能会遇到不同的编码格式,例如GBK、ISO-8859-1等。如果不正确地...
在Java编程环境中,字符编码的转换与处理是一个常见的技术难点,尤其当涉及到中文或其它非ASCII字符时。本文将深入探讨在Java中处理字符编码,尤其是UTF-8和GBK编码的转换技巧,以及如何在不同的场景下(如JSP页面与...
编码是指将字符转换为字节序列的过程,不同的字符集有不同的编码方式。例如,ASCII编码用1个字节表示一个字符,而UTF-8编码则根据字符的不同,使用1到4个字节。 二、简单字符串的编码转换 在Java中,String类提供了...
在Java编程中,处理不同编码方式的字符串转换是一项常见的任务,尤其在处理来自不同系统或网络的数据时。本文将深入探讨如何使用Java实现这一过程,同时涵盖异常处理、重复不终止输入以及`BufferedReader`的高效使用...
在Java开发过程中,字符编码是处理文本数据的基础,不同的编码方式会影响数据的存储、传输以及显示。本文将详细介绍几种常见的字符编码(Unicode, ISO-8859-1, GBK, UTF-8)及其在Java中的应用,并讨论它们之间的...
如果字符串由于错误的编码转换方式产生,例如ISO8859-1编码的GBK文本,可以使用`new String(text.getBytes("iso8859-1"), "gbk")`将其转换回正确的中文。 7. **JDBC中的编码转换**: JDBC驱动负责处理与数据库...
UTF-8是一种可变长度的Unicode编码方式,它可以高效地表示Unicode字符。UTF-8使用1到4个字节来表示一个字符,对于ASCII字符集中的字符,UTF-8与ASCII完全兼容。 #### 三、编码转换方法 在Java中,可以使用`String`...
- Unicode:为了解决全球字符集的问题,Unicode包含了世界上几乎所有的字符,常用的有UTF-8、UTF-16和UTF-32等编码方式。 2. **Java中的字符编码** - Java使用Unicode作为内部字符编码,这意味着所有Java字符串都...
对于纯Java类文件,处理字符编码的方式略有不同,主要关注源代码文件的编码、输入输出流的编码以及字符串的内部处理。例如,读取文本文件时,应使用`InputStreamReader`和合适的编码参数,如`new InputStreamReader...
- **UTF-8**:一种变长编码方式,对于英文等常用的字符只需要1个字节,而对于中文等非常用字符则需要2~4个字节。UTF-8是最常用的编码方式之一。 - **UTF-16**:一种固定长度或变长编码方式,对于大部分字符使用2个...
System.out.println("使用平台默认字符编码方式进行转换:"); printBytes(bytesDefault); // 使用UTF-8字符编码方式进行转换 try { byte[] bytesUTF8 = str.getBytes("UTF-8"); System.out.println("\n使用...
字符编码是计算机内部表示字符的一种方式,它涉及到如何将人类可读的文字转换为二进制形式以便计算机处理。 #### 二、Java中的字符串与字符编码 在 Java 中,`String` 类型是一种特殊的类型,它用来表示一系列字符...
此外,Java的`String`类提供了许多与字符编码相关的功能,如`getBytes()`方法可以将字符串转换为字节数组,使用默认的平台字符集,或者指定的`Charset`。而`new String(bytes, charset)`则可以根据给定的字节数组和...
其中,Base64是一种常用的编码方式,用于将二进制数据转换为ASCII字符串,以便在网络上传输。在给定的`Base64.js`文件中,很可能包含了用于Base64编码和解码的函数或类。Base64解码通常用于处理例如图片、音频等二...
这种编码方式在处理Unicode文本时非常高效,但可能需要额外的字节顺序标记(BOM)来确定字节顺序。 5. **UTF-16LE (Little Endian)**:与UTF-16BE相反,LE表示“小端”字节顺序,即最低有效字节在前。同样,也需要BOM...