`

String编码转换

阅读更多
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()方法设置编码方式,读出的内容就是正确的了。  
分享到:
评论

相关推荐

    String转换Unicode编码转换

    就是从String转换成Unicode和从Unicode转换成String编码转换

    各种string类型转换

    在IT领域,字符串类型转换是编程中非常基础且重要的部分,尤其在处理不同编码、数据类型转换时,掌握各种string类型的转换方法对于提高程序的健壮性和灵活性至关重要。以下将详细解析从给定文件中提取出的关于“各种...

    HexString和Base64String的相互转换

    总的来说,HexString和Base64String的转换是编程中常见的任务,理解它们的工作原理和转换过程对于任何IT从业者来说都是必备技能。掌握这个小程序的使用,不仅可以帮助处理日常开发中的数据编码问题,还能加深对数据...

    redis编码转换器

    在提供的压缩包文件"redis编码转换器.exe"中,可能包含了一个实际的工具,用于帮助开发者在C#环境中方便地进行Redis数据的编码转换。使用这样的工具可以简化编码转换的过程,提高开发效率。在使用前,务必了解其具体...

    UTF8与ansi string转换处理(DELPHI7开发)

    "UTF8_DLL接口说明.txt"文件提供了DLL中函数的详细说明,包括输入参数、返回值以及如何正确调用这些函数来完成字符串编码转换。通常,这样的接口会包含两个主要函数:一个用于将ANSI String转换为UTF8,另一个则相反...

    Java文件编码转换源码

    在Java编程语言中,文件编码转换是一个常见的任务,特别是在处理多国语言或者处理不同系统间的文件传输时。本文将深入探讨如何使用Java实现文件编码的转换,主要关注GB2312、UTF-8这两种常见编码格式之间的转换。 ...

    GBK编码转换汉字,汉字转换GBK编码,VC代码实现

    在VC++中,可以使用`std::wstring`或`std::string`来存储和操作字符串,配合`WideCharToMultiByte`和`MultiByteToWideChar`函数进行编码转换。例如,要将GBK编码的字符串转换为宽字符(UTF-16)字符串,可以这样操作...

    android用base64实现文件与string相互转换

    在Android开发中,有时我们需要将文件转换为字符串(String)以便于在网络上传输或存储,同时也有时需要将字符串恢复为原始文件。Base64是一种常见的编码方式,它可以把二进制数据转换成ASCII字符串形式,同时又能...

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

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

    java字符串的各种编码转换

    根据提供的文件信息,本文将详细解释Java中字符串的不同编码转换方法及原理,并深入探讨每种编码格式的特点。 ### Java字符串的编码转换 在Java中,处理不同字符集之间的字符串转换是一项常见任务。尤其是在处理...

    java字符串编码转换

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

    java 文件编码转换

    3. **转换编码**:如果源编码与目标编码不同,可以使用`String`的`getBytes()`和`new String()`方法,或`CharsetEncoder`和`CharsetDecoder`,进行编码转换。 4. **写入新文件**:将转换后的内容写入新的文件,指定...

    Android byte[] 和 String互相转换

    5. **Base64编码**:对于复杂的二进制数据,可以使用Base64编码进行转换,这样可以直接用`String`表示,但会增加约33%的数据量。`android.util.Base64`类提供了相关功能。 ### 四、示例应用 在Android开发中,这种...

    Base64编码转换工具

    在标题提到的“Base64编码转换工具”中,我们主要讨论的是一个用C#语言开发的小型应用程序,该程序能够方便地实现Base64编码与普通文本之间的相互转换。 Base64编码的基本原理是将每3个字节(24位)的数据分成4组,...

    新编码转换大全模块+应用例程.rar

    在IT领域,编码转换是一个非常重要的主题,尤其是在处理不同字符集和编码标准时。"新编码转换大全模块+应用例程.rar" 提供的资源很可能是一个包含多种编码转换方法的软件模块,以及演示如何使用这些模块的应用程序...

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

    在IT领域,字符串编码转换是处理文本数据时的一项重要任务,尤其是在不同的系统或平台之间进行数据交换时。本文将深入探讨C#中的字符串编码转换,以及如何利用C#实现一个编码转换器。 C#是一种面向对象的编程语言,...

    java编码格式转换

    - 使用`public String(byte[] bytes, String charsetName)`方法可以将字节数组从指定编码转换回字符串。 - 示例:将GBK编码的字节数组转换回Unicode编码的字符串。 2. **从其他编码到Unicode**: - 使用同样的...

    C#写的编码转换工具(源代码)

    在IT行业中,编码转换是一个常见的需求,特别是在处理不同语言环境或不同系统间的文件时。本篇文章将基于提供的标题“C#写的编码转换工具(源代码)”和描述,深入探讨编码转换的相关知识点,并且着重介绍如何使用C#...

    android GBK转换为String

    在Android开发中,字符编码是一个重要的考虑因素,尤其是在处理中文字符时。GBK是GB2312编码的一个扩展,主要用于简体中文,而Unicode是一种通用的字符编码标准,支持全球多种语言,包括简体和繁体中文。在Android...

Global site tag (gtag.js) - Google Analytics