String newStr = new String(oldStr.getBytes(), "UTF-8");
java中的String类是按照unicode进行编码的,当使用String(byte[] bytes, String encoding)构造字符串时,encoding所指的是bytes中的数据是按照那种方式编码的,而不是最后产生的String是什么编码方式,换句话说,是让系统把bytes中的数据由encoding编码方式转换成unicode编码。如果不指明,bytes的编码方式将由jdk根据操作系统决定。
当我们从文件中读数据时,最好使用InputStream方式,然后采用String(byte[] bytes, String encoding)指明文件的编码方式。不要使用Reader方式,因为Reader方式会自动根据jdk指明的编码方式把文件内容转换成unicode 编码。
当我们从数据库中读文本数据时,采用ResultSet.getBytes()方法取得字节数组,同样采用带编码方式的字符串构造方法即可。
ResultSet rs;
bytep[] bytes = rs.getBytes();
String str = new String(bytes, "gb2312");
不要采取下面的步骤。
ResultSet rs;
String str = rs.getString();
str = new String(str.getBytes("iso8859-1"), "gb2312");
这种编码转换方式效率底。之所以这么做的原因是,ResultSet在getString()方法执行时,默认数据库里的数据编码方式为 iso8859-1。系统会把数据依照iso8859-1的编码方式转换成unicode。使用str.getBytes("iso8859-1")把数据还原,然后利用new String(bytes, "gb2312")把数据从gb2312转换成unicode,中间多了好多步骤。
从HttpRequest中读参数时,利用reqeust.setCharacterEncoding()方法设置编码方式,读出的内容就是正确的了。
转:http://www.blogjava.net/rabbit/archive/2008/03/27/189009.html
分享到:
相关推荐
本文将深入探讨"字符编码过滤器"、"J2EE字符编码"、"字符编码转换"以及"POST字符转换"这些关键知识点,并结合提供的文件"encoding-filter.jar"和"使用方法.txt"来解释它们的应用。 首先,字符编码是计算机存储和...
### 字符编码转换方法 为了实现字符编码的转换,可以使用`changeCharset`方法。该方法接受一个源字符串和目标字符集名称作为参数,然后返回转换后的字符串。 ```java public String changeCharset(String str, ...
Java中的字符编码转换是编程实践中一个至关重要的概念,尤其是在处理多语言环境和跨平台交互时。Java通过统一采用UTF-16编码格式在JVM内部处理字符,简化了字符操作的复杂性。UTF-16是一种变长的Unicode编码,它可以...
"Love String 字符编码查询工具"显然是一款帮助用户理解和查询字符编码的软件,可能特别关注于字符串("Love String")的编码表示。下面我们将深入探讨字符编码的相关知识点。 字符编码是用来表示文本的数字系统,...
以下是进行字符编码转换和发送字符消息的关键步骤: 1. **识别输入编码**:首先,你需要知道你接收到的数据是哪种编码格式。这可能通过元信息、文件头或者预先设定的信息来确定。 2. **编码转换**:一旦识别了输入...
### Java字符串编码转换详解 #### 一、Java 字符串编码转换基础 在Java中,字符串的处理是非常常见的操作之一,而字符编码是确保数据正确显示的关键因素。本篇文章将重点介绍Java中字符串编码的转换方法及其在Web...
此外,对于跨语言交互或底层系统编程,可能还会涉及到字符编码的问题,比如在C++中,如果你的字符串包含非ASCII字符,可能需要使用宽字符(如`wstring`)并考虑UTF-8编码。在Java和C#中,字符串默认是Unicode编码,...
在C#中,`System.Text.Encoding`类族是处理各种字符编码的核心工具。这个类族包含了如ASCII(美国标准代码),ANSI(通常指的是Windows默认的本地代码页),以及Unicode的两个主要变体:UTF-8和UTF-16等编码方式。 ...
本文将深入探讨Java中设置String字符串编码的方法,帮助开发者更好地理解和使用这些功能。 首先,我们需要理解什么是字符编码。字符编码是将字符(如字母、数字和符号)与数字或二进制值关联的系统,例如ASCII、...
Java字符编码转换工具是编程中常见的一种实用程序,主要用于处理不同字符编码间的转换问题。在计算机世界里,字符编码是用来表示文本的各种方式,常见的有ASCII、GBK、UTF-8等。不同的编码方式适用于不同的场景,...
java程序文件字符编码转换器 JLabel labsuffix = new JLabel("指定文件的后缀"); JLabel labCharacter = new JLabel("选择转换方式"); JLabel labfiletext = new JLabel("正在处理"); JTextArea jTextArea = new...
这个压缩包文件包含了一些关于AS3中字符编码转换的关键知识点。 首先,`ByteArray` 对象是AS3中处理二进制数据的基本工具,它可以用来读写各种数据类型,包括字符串。`writeMultiByte()` 方法是`ByteArray`的一个...
在IT行业中,字符编码转换是一项基础且重要的任务,特别是在处理多语言内容时。"iconv字符编码转换的操作实例"这个标题表明我们将探讨如何使用iconv库在C++环境中进行字符编码的转换。iconv是一个广泛使用的跨平台库...
相反,`Base64String`是基于64个可打印字符来编码二进制数据的编码方式,这些字符包括大小写字母、数字以及"+"和"/"。每三个字节的数据会被编码为四个Base64字符,使得Base64编码后的数据更适合在ASCII环境中传输,...
### Java中的字符集编码入门(五):Java代码中的字符编码转换Part1 #### 核心知识点概述: 本文档深入探讨了Java编程语言中字符集编码的基础知识,并着重讲解了字符编码转换的基本原理及其在Java代码中的应用。...
Java字符编码转换是Java开发中一个重要的概念,涉及到数据的正确读取、存储和传输。在Java中,编码转换通常发生在以下几个场景: 1. **JVM启动与系统属性**: JVM启动时,会根据操作系统的环境设置一些系统属性,...
要将其转换为String,通常是通过将Bitmap的像素数据编码成一个Base64或PNG/JPEG等格式的字符串。相反,从String恢复Bitmap,则需要解码这个字符串,还原成原始的图像数据。 1. Bitmap转String: - Base64编码:...
字符编码检测和转换 附件中:FileEncodeDetector.java 此文件可以检测指定文件的编码格式 public static String getFileEncode(File file) {...} 附件中:FileCharsetConverter.java 此文件可以实现两个编码的相互...
#### 三、字符编码转换 在实际开发过程中,经常需要对字符串进行编码转换,尤其是在与外部系统交互时,如读取文件、网络通信等场景。 **1. 字符串到字节数组的转换** ```java String oldStr = "你好,世界!"; ...
在Java编程中,字符编码是一个关键概念,因为不同的编码标准(如ASCII、GBK、UTF-8等)可能对同一字符有不同的表示方式。例如,ASCII主要支持英文字符,而GBK和UTF-8则支持更多的汉字和其他语言字符。在处理字符串时...