-
java中的编码转换问题5
我的程序环境是GBK的,第三方是UTF-8的,现在我发往第三方的报文需要从GBK的编码转换成UTF-8,然后第三方给我的响应我需要从UTF-8的编码转变成GBK,我们的通讯是socket连接,用的是XML报文,请问这种情景用JAVA代码如何实现2014年7月09日 00:38
4个答案 按时间排序 按投票排序
-
所谓的字符集(GBK、UTF-8)等都是字节数组转化成字符串和字符串转化成字节数组的转化标准。网络传递中的消息本质是字节数组。因此不同的字符集间的字符串转化需要通过字节数组来实现。
简单的例子如下:import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; /*** * 我们的环境及源码均是gbk * * @author bobo * */ public class Test { public static void main(String[] args) throws UnknownHostException, IOException { /** * 要发送到第三方服务端的srcXml, */ String srcXml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><desc>测试字符转码</desc></root>"; /** * 根据你的描述我们是做客户端,因此创建client的socket对象 */ Socket socket = new Socket("127.0.0.1", 8080); /*** * 获得输出流,将我们的数据流到对端,注意我们流过去的是字节数组,且是srcXml字符串用utf-8格式表示时的字节数组, * 这样对端用utf-8格式来解析才能解析正确 */ OutputStream outputStream = socket.getOutputStream(); outputStream.write(srcXml.getBytes("utf-8")); outputStream.flush(); /** * 获得输入流 并读取对端的响应字节数组到b中此时b中存储的是用utf-8格式存储的字节 因此我们需要用utf-8格式将其转成 字符串 */ InputStream inputStream = socket.getInputStream(); byte[] b = new byte[1024];// 数组大小可以自己调整,或者采用重复使用的方法 inputStream.read(b); // 构建字符串 String resXml = new String(b, "utf-8"); } }
2014年7月15日 12:42
-
原来是GBK
gbkString.getBytes("gbk") //不写gbk也可以
发送bytes 到达对方 用new String(bytes,"utf-8")
2014年7月12日 13:37
-
1、从对端接收到二进制数据,使用utf8字符集创建String,然后可以随意解析为其他字符集
2、发送数据时,将string使用utf8提取出byte数组,socket发送到对端
2014年7月09日 18:24
相关推荐
在Java编程语言中,文件编码转换是一个常见的任务,特别是在处理多国语言或者处理不同系统间的文件传输时。本文将深入探讨如何使用Java实现文件编码的转换,主要关注GB2312、UTF-8这两种常见编码格式之间的转换。 ...
java编码转换工具
标题"java 文件编码转换"指的是使用Java来解决文件编码问题,而描述中提到的"提供一个jar包和一个java文件"则暗示了我们可以通过这两个文件实现这个功能。 首先,`chardet.jar`可能是一个字符集检测库,用于自动...
本文介绍了Java字符串编码转换的基础知识,并结合Web环境中的具体应用场景进行了详细的说明。在处理不同编码格式的数据时,正确地使用编码转换方法对于确保数据的一致性和准确性非常重要。开发者应当熟悉各种编码...
另一方面,要从Unicode编码还原为中文字符,可以使用`Character`类的`forName()`方法,或者通过`String`构造函数将Unicode编码转换为字符。但是,要注意处理代理对的情况,因为它们不能单独被`forName()`方法解析。...
在Java编程环境中,字符编码的转换与处理是一个常见的技术难点,尤其当涉及到中文或其它非ASCII字符时。...通过正确配置和编码转换,可以有效解决中文显示问题,确保应用程序在不同编码环境下均能正常运行。
### Java编码格式转换 在Java开发中,字符编码的转换是一项常见的需求,尤其是在处理国际化文本时。本文将详细介绍如何在不同的编码格式之间进行转换,并探讨一些常见的编码转换错误及其处理方法。 #### Unicode与...
Java写的一个小程序,用于批量转换GBK编码的java源文件为UTF-8编码格式
附件中:FileCharsetConverter.java 此文件可以实现两个编码的相互转换 FileCharsetConverter.convert( "gbk/DispatcherHandler.java", "GBK", "UTF-8", new FilenameFilter() { public boolean accept(File...
Java中的字符编码转换是编程实践中一个至关重要的概念,尤其是在处理多语言环境和跨平台交互时。Java通过统一采用UTF-16编码格式在JVM内部处理字符,简化了字符操作的复杂性。UTF-16是一种变长的Unicode编码,它可以...
根据提供的文件信息,本文将详细解释Java中字符串的不同编码转换方法及原理,并深入探讨每种编码格式的特点。 ### Java字符串的编码转换 在Java中,处理不同字符集之间的字符串转换是一项常见任务。尤其是在处理...
Java源码编码转换器v2.0是一款专用于解决Java源码编码问题的工具,它主要功能是将GBK编码的Java文件转换成UTF-8编码,以解决由于编码不匹配导致的乱码问题。该工具在之前的版本基础上进行了优化,修复了UTF-8转换后...
在IT行业中,编码转换是一个常见的问题,特别是在处理不同来源或平台的文件时。Java作为一种广泛使用的编程语言,处理文件编码转换也是其能力之一。本文将深入探讨“Java文件的编码转换”这一主题,以及如何利用Java...
`JAVA 转换字符编码工具`可能是一个用于处理字符编码转换的Java程序,旨在帮助开发者解决不同编码格式之间转换的问题。这篇博文链接(虽然没有提供具体内容)可能详细介绍了这个工具的实现原理和使用方法。 在Java...
以下将详细阐述Java中涉及编码转换的关键知识点。 一、概念 1. 字符: 字符是文本的基本单位,可以是字母、数字、标点符号或其他符号。在计算机内部,字符通常通过特定编码系统来表示,如ASCII、Unicode等。 2. ...
总的来说,解决Java中的中文编码问题,关键在于理解不同编码之间的转换,并在适当的地方指定正确的编码。开发过程中,保持良好的编码习惯,如统一项目中的编码格式,使用注释明确文件或网络资源的编码,可以有效避免...
标题中的“文件编码转换工具java”表明这是一款基于Java编程语言开发的应用,主要功能是进行文件编码的转换。在IT领域,文件编码是至关重要的,不同的编码格式适用于不同的语言和平台,例如ASCII、UTF-8、GBK等。这...
在Java编程语言中,编码转换是一项重要的任务,特别是在处理不同来源的数据时,如读取文本文件、网络数据传输或数据库交互。...通过深入研究和实践,可以增强对Java编码转换机制的理解,提升软件质量。
因此,在Java程序运行时,需要将Unicode编码转换为操作系统默认支持的编码格式,这就存在着一个从Unicode编码到对应的操作系统及浏览器支持的编码格式转换、输入、输出的问题。 二、Java中文编码问题的分析 Java...