`

String字符编码转换

    博客分类:
  • JAVA
阅读更多
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 

 

分享到:
评论
1 楼 showzh 2012-04-18  

相关推荐

    字符编码过滤器 字符编码转换 post字符转换

    本文将深入探讨"字符编码过滤器"、"J2EE字符编码"、"字符编码转换"以及"POST字符转换"这些关键知识点,并结合提供的文件"encoding-filter.jar"和"使用方法.txt"来解释它们的应用。 首先,字符编码是计算机存储和...

    Java中的字符集编码入门(五)Java代码中的字符编码转换Part1.pdf

    Java中的字符编码转换是编程实践中一个至关重要的概念,尤其是在处理多语言环境和跨平台交互时。Java通过统一采用UTF-16编码格式在JVM内部处理字符,简化了字符操作的复杂性。UTF-16是一种变长的Unicode编码,它可以...

    java字符串的各种编码转换

    ### 字符编码转换方法 为了实现字符编码的转换,可以使用`changeCharset`方法。该方法接受一个源字符串和目标字符集名称作为参数,然后返回转换后的字符串。 ```java public String changeCharset(String str, ...

    VB转换字符编码(构造发送字符消息的准备工作)

    以下是进行字符编码转换和发送字符消息的关键步骤: 1. **识别输入编码**:首先,你需要知道你接收到的数据是哪种编码格式。这可能通过元信息、文件头或者预先设定的信息来确定。 2. **编码转换**:一旦识别了输入...

    java字符串编码转换

    ### Java字符串编码转换详解 #### 一、Java 字符串编码转换基础 在Java中,字符串的处理是非常常见的操作之一,而字符编码是确保数据正确显示的关键因素。本篇文章将重点介绍Java中字符串编码的转换方法及其在Web...

    Love String 字符编码查询工具

    "Love String 字符编码查询工具"显然是一款帮助用户理解和查询字符编码的软件,可能特别关注于字符串("Love String")的编码表示。下面我们将深入探讨字符编码的相关知识点。 字符编码是用来表示文本的数字系统,...

    字符串数组转换成string类型的

    此外,对于跨语言交互或底层系统编程,可能还会涉及到字符编码的问题,比如在C++中,如果你的字符串包含非ASCII字符,可能需要使用宽字符(如`wstring`)并考虑UTF-8编码。在Java和C#中,字符串默认是Unicode编码,...

    C# 字符串编码转换器(源码)

    在C#中,`System.Text.Encoding`类族是处理各种字符编码的核心工具。这个类族包含了如ASCII(美国标准代码),ANSI(通常指的是Windows默认的本地代码页),以及Unicode的两个主要变体:UTF-8和UTF-16等编码方式。 ...

    Java设置String字符串编码方法详解

    本文将深入探讨Java中设置String字符串编码的方法,帮助开发者更好地理解和使用这些功能。 首先,我们需要理解什么是字符编码。字符编码是将字符(如字母、数字和符号)与数字或二进制值关联的系统,例如ASCII、...

    java 写的字符编码转换工具(附带源码)

    Java字符编码转换工具是编程中常见的一种实用程序,主要用于处理不同字符编码间的转换问题。在计算机世界里,字符编码是用来表示文本的各种方式,常见的有ASCII、GBK、UTF-8等。不同的编码方式适用于不同的场景,...

    java程序文件字符编码转换器

    java程序文件字符编码转换器 JLabel labsuffix = new JLabel("指定文件的后缀"); JLabel labCharacter = new JLabel("选择转换方式"); JLabel labfiletext = new JLabel("正在处理"); JTextArea jTextArea = new...

    flash actionscript3 as3 字符编码转换代码.zip

    这个压缩包文件包含了一些关于AS3中字符编码转换的关键知识点。 首先,`ByteArray` 对象是AS3中处理二进制数据的基本工具,它可以用来读写各种数据类型,包括字符串。`writeMultiByte()` 方法是`ByteArray`的一个...

    iconv字符编码转换的操作实例

    在IT行业中,字符编码转换是一项基础且重要的任务,特别是在处理多语言内容时。"iconv字符编码转换的操作实例"这个标题表明我们将探讨如何使用iconv库在C++环境中进行字符编码的转换。iconv是一个广泛使用的跨平台库...

    Java中的字符集编码入门(五)Java代码中的字符编码转换Part1.doc

    ### Java中的字符集编码入门(五):Java代码中的字符编码转换Part1 #### 核心知识点概述: 本文档深入探讨了Java编程语言中字符集编码的基础知识,并着重讲解了字符编码转换的基本原理及其在Java代码中的应用。...

    Java字符编码转换过程说明

    Java字符编码转换是Java开发中一个重要的概念,涉及到数据的正确读取、存储和传输。在Java中,编码转换通常发生在以下几个场景: 1. **JVM启动与系统属性**: JVM启动时,会根据操作系统的环境设置一些系统属性,...

    Android图片Bitmap和字符串String之间的相互转换

    要将其转换为String,通常是通过将Bitmap的像素数据编码成一个Base64或PNG/JPEG等格式的字符串。相反,从String恢复Bitmap,则需要解码这个字符串,还原成原始的图像数据。 1. Bitmap转String: - Base64编码:...

    HexString和Base64String的相互转换

    相反,`Base64String`是基于64个可打印字符来编码二进制数据的编码方式,这些字符包括大小写字母、数字以及"+"和"/"。每三个字节的数据会被编码为四个Base64字符,使得Base64编码后的数据更适合在ASCII环境中传输,...

    java文件字符编码检测和转换

    字符编码检测和转换 附件中:FileEncodeDetector.java 此文件可以检测指定文件的编码格式 public static String getFileEncode(File file) {...} 附件中:FileCharsetConverter.java 此文件可以实现两个编码的相互...

    java_字符编码 Javajava_字符编码问题

    #### 三、字符编码转换 在实际开发过程中,经常需要对字符串进行编码转换,尤其是在与外部系统交互时,如读取文件、网络通信等场景。 **1. 字符串到字节数组的转换** ```java String oldStr = "你好,世界!"; ...

    字符转换工具类

    在Java编程中,字符编码是一个关键概念,因为不同的编码标准(如ASCII、GBK、UTF-8等)可能对同一字符有不同的表示方式。例如,ASCII主要支持英文字符,而GBK和UTF-8则支持更多的汉字和其他语言字符。在处理字符串时...

Global site tag (gtag.js) - Google Analytics