`

从数据库读取byte[]数据转为String类型时的编码问题

XML 
阅读更多
在一个业务系统的需求中,我从页面上传了一个xml类型的文件存储到了数据。现在我先要把他拿出来转换成String显示在页面上,但是我在构建这个String的时候我并不知道他的编码是什么?存储的时候可能是GBK,也有可能是UTF-8,所以如果你使用:
String xx = new String(读取的二进制数组,"GBK)这种方法是不好的,他吧编码限制死了,那么我们应该如何来做?

最好的方法就是使用dom4j构建这个字符串,因为dom4j在解析这个字节数组的时候能自动获取这个.xml文件的编码格式是什么这个编码格式在.xml文件的头部分就可以得到。所以:

String xxx = new SAXReader().read(new ByteArrayInputStream(从数据库读取的二进制数组数据)).asXML();

然后将这个String字符串显示到页面上,就不会有编码问题了。
分享到:
评论

相关推荐

    C#连接数据库UFT-8转为GB2312格式

    在IT行业中,数据库编码是一个非常重要的概念,尤其是在处理多语言数据时。本示例主要涉及的是如何使用C#编程语言连接数据库,并将原本以UTF-8编码的数据转换为GB2312编码格式。让我们深入探讨一下这个话题。 首先...

    Java 从网络中读取图片 转换成Base64字符串

    在Java编程中,将网络上的图片读取并转换为Base64字符串是一项常见的任务,尤其在Web开发中,这样的操作可以用于数据传输或者存储。Base64是一种编码方式,能够将二进制数据转化为可打印的ASCII字符,方便在网络上...

    如何将图片转换成二进制存储

    1. **从数据库读取二进制数据并转换为Image对象** ```csharp public System.Drawing.Image ReturnPhoto(byte[] streamByte) { MemoryStream ms = new MemoryStream(streamByte); System.Drawing.Image img = ...

    C# 文件转换base64

    在C#编程中,将文件转换为Base64编码是一种常见的操作,特别是在处理二进制数据,如图像、文档或任何其他非文本数据时。Base64是一种用于将二进制数据表示为ASCII字符串的编码方式,使得这些数据可以在电子邮件等不...

    ibatis乱码解决方法(ibatis独立)

    - 如果是从文件中读取或写入数据,确保文件的读写操作使用了与数据库相同的编码格式。 8. **字符集转换**: - 使用Java的`Charset`类进行编码转换,如`new String(byte[], "GBK")`用于GBK编码的字符串转换。 ...

    Android中对图像进行Base64编码

    Base64编码是一种常见的二进制数据转为文本字符串的方法。本文将深入探讨如何在Android环境中对图像进行Base64编码,并提供相关源码和工具的使用。 Base64编码是一种基于64个可打印字符来表示二进制数据的编码方式...

    C# 中英文转换

    在实际应用中,你可能会遇到更复杂的需求,比如从XML、JSON或者数据库中读取多语言文本,这时你需要结合`XmlSerializer`、`JsonConvert`或数据库查询语句来处理。 至于压缩包中的"修改签名错误.jpg",这可能是一个...

    java 把PDF转换成BASE64

    在IT行业中,编码和解码是常见的数据处理任务,其中BASE64是一种广泛使用的编码方式。此主题聚焦于如何在Java环境下将PDF文档转换为BASE64字符串。PDF(Portable Document Format)是一种通用的文件格式,用于存储...

    java将图片转为base64返回给前端

    为解决这个问题,需要将图片转换为 Base64 编码字符串,以便在前端进行解码和显示。Base64 编码是一种常用的编码方式,能够将二进制数据转换为文本字符串,以便在网络上传输。 Java 图片转换为 Base64 的实现过程 ...

    Android开发人员不得不收集的代码

    outputStream2String, string2OutputStream: outputStream 与 string 按编码互转 bitmap2Bytes, bytes2Bitmap : bitmap 与 byteArr 互转 drawable2Bitmap, bitmap2Drawable : drawable 与 bitmap 互转 drawable2...

    大公司java面试题

    使用String的getBytes()和new String(byte[], charset)方法进行编码转换,例如将GB2312转为ISO-8859-1。 【访问数据库】 Statement用于执行静态SQL,PreparedStatement用于预编译SQL,能防止SQL注入,提高性能。 ...

    Django 实现将图片转为Base64,然后使用json传输

    ### Django 实现将图片转为Base64,然后使用json传输 #### 背景介绍与应用场景 在Web开发中,特别是在使用Django框架时,经常需要处理图像数据。有时,这些图像数据需要通过网络传输到其他服务器或客户端。传统的...

    java操作mongoDB实现文件上传预览打包下载

    在Java编程环境中,MongoDB是一个广泛使用的文档型数据库,它以JSON格式存储数据,提供了灵活的数据模型和高性能的处理能力。对于"java操作mongoDB实现文件上传预览打包下载"这个主题,我们将深入探讨如何利用Java与...

    JAVA面试题全集

    - 将 GB2312 编码的字符串转换为 ISO-8859-1 编码:使用 `String.getBytes("GB2312")` 转为字节数组,然后使用 `new String(bytes, "ISO-8859-1")` 转换回字符串。 9. **Java中访问数据库** - 使用 JDBC 连接...

    基于Java实现文件和base64字符串转换

    * 数据存储:在数据存储时,我们可以将数据转换成 base64 字符串,然后将其存储到数据库中。 基于 Java 实现文件和 base64 字符串转换的技术可以帮助我们更方便地处理文件和数据,提高我们的开发效率和产品质量。

    SERVLET实现下载

    因此,可以使用`filename*`属性,遵循RFC6266标准,以UTF-8编码文件名并转为Base64编码。例如: ```java String encodedFileName = Base64.getEncoder().encodeToString(fileName.getBytes("UTF-8")); response....

Global site tag (gtag.js) - Google Analytics