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
分享到:
相关推荐
### 字符编码转换方法 为了实现字符编码的转换,可以使用`changeCharset`方法。该方法接受一个源字符串和目标字符集名称作为参数,然后返回转换后的字符串。 ```java public String changeCharset(String str, ...
C语言字符串转换为Python字符串的方法 C语言字符串转换为Python字符串是指将...C语言字符串转换为Python字符串需要根据不同的编码方式和数据类型选择合适的方法,以确保正确地将C语言字符串转换为Python字符串对象。
在编程领域,尤其是在使用C++、Java或C#等面向对象的语言时,经常需要将字符串数组转换为单一的string类型。这种操作在处理数据输入、输出或者格式化时非常常见。下面我们将详细讨论如何在不同语言中实现这个过程,...
本文将深入探讨Java中设置String字符串编码的方法,帮助开发者更好地理解和使用这些功能。 首先,我们需要理解什么是字符编码。字符编码是将字符(如字母、数字和符号)与数字或二进制值关联的系统,例如ASCII、...
接下来,我们可以使用`CONCAT`函数或`STRING`构造函数将字符数组转换为字符串: ```scl ResultString := CONCAT(CharArray); // 或者 ResultString := STRING(CharArray); ``` 这样,`ResultString`就包含了'ABCDE'...
### 常用字符串处理函数:求子字符串、字符串分割与编码转换 在现代编程语言如JavaScript中,字符串处理是日常开发中极为常见的任务之一。本文将深入探讨几个常用的字符串处理函数,包括如何求取子字符串、进行字符...
标题和描述中提到的问题,即“将含有大写字母的string字符串转为全小写字母”,是字符串处理中的一个基本操作,常见于数据清洗、文本分析或者用户输入的规范化等场景。下面我们将详细探讨这个问题,并给出具体的解决...
然而,这些字符串可能由于各种原因(如编码问题、特殊字符未转义等)不符合标准的XML格式。在这种情况下,我们需要将非标准的XML字符串转换为标准格式。本篇文章将详细介绍如何使用JDOM库来实现这个过程。 首先,让...
要将其转换为String,通常是通过将Bitmap的像素数据编码成一个Base64或PNG/JPEG等格式的字符串。相反,从String恢复Bitmap,则需要解码这个字符串,还原成原始的图像数据。 1. Bitmap转String: - Base64编码:...
### Java字符串编码转换详解 #### 一、Java 字符串编码转换基础 在Java中,字符串的处理是非常常见的操作之一,而字符编码是确保数据正确显示的关键因素。本篇文章将重点介绍Java中字符串编码的转换方法及其在Web...
在C#中,我们可以使用`System.Convert`类的`ToBase64String`方法将普通字符串(UTF-8编码的字节数组)转换为Base64字符串。首先,我们需要将字符串转换为字节数组,然后进行编码。 ```csharp string plainText = ...
在IT领域,字符串编码转换是处理文本数据时的一项重要任务,尤其是在不同的系统或平台之间进行数据交换时。本文将深入探讨C#中的字符串编码转换,以及如何利用C#实现一个编码转换器。 C#是一种面向对象的编程语言,...
### C#字符串与HTML编码处理方式 在C#开发中,处理从数据库获取的数据并绑定到Grid等控件时,可能会遇到数据中的HTML标签或特殊字符导致显示异常的问题。为了解决这一问题,通常需要对数据进行HTML编码处理。本文将...
而在一些其他语言中,如Java,可能需要先将字符串转换为特定的字符编码(如UTF-8)再进行截取。 在实际应用中,我们可能还需要考虑一些边缘情况,例如当截取的长度超过了字符串的实际长度,这时通常会返回整个字符...
将默认string类型的字符串转换为unicode编码的字符串。dest参数指定了保存目的串的缓冲区位置 (2)widecharlentostring function widecharlentostring(source :pwidechar;sourcelen :integer) :string; 将sourcelen...
在这里,`String.format()`和`BigInteger`用于将字符串转换为16进制,而`Base64.getDecoder().decode()`则用于将16进制字符串解码回原始的字节数组,再转化为字符串。 在实际应用中,你可能还会遇到其他复杂情况,...
对于一个GB2312编码的字符串,它会被转化为一系列16进制的数字对,通常用百分号(%)来分隔,例如“中国”编码后的形式是:“%D6%D0%B9%FA”。 在JavaScript中,我们可以使用内置的`escape()`和`unescape()`函数来...
要将字符串转换为十六进制串,我们需要对字符串中的每个字符进行编码,然后将编码结果转换成十六进制字符串。C#提供了`BitConverter`类和`ToString`方法来完成这个任务: ```csharp public static string StringTo...
为了将一个字符串转换为十六进制表示,可以先将其编码为字节数组,再将每个字节转换为十六进制形式: ```csharp public static string StringToHexString(string str, Encoding encoding) { byte[] bytes = ...
例如,`Encoding.ASCII.GetBytes(str)`或`Encoding.UTF8.GetBytes(str)`将字符串按照指定编码转换为字节数组。 - **GetString()**: 反之,字节数组可以转换回字符串,如`Encoding.ASCII.GetString(bytes)`或`...