博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编码问题之:java.io.UTFDataFormatException: Invalid byte 2 of 2-byte UTF-8 sequence.
阅读量:7043 次
发布时间:2019-06-28

本文共 1408 字,大约阅读时间需要 4 分钟。

今天在编码的时候遇到如下问题
java.io.UTFDataFormatException: Invalid byte 2 of 2-byte UTF-8 sequence.
函数源码:
 static InputStream String2InputStream(String str) throws Exception{
     ByteArrayInputStream stream = new ByteArrayInputStream()
     return stream;
 }
实现的功能将一个xml字符串转换为Stream类型。
调用时的源码
  String ExpXmlText ="<?xml version=\"1.0\" encoding=\"utf-8\"?><AppSubscResult>" +
    "  <appId>elbert_app_dsc005</appId>" +
    "  <longId>wangwang101112347</longId>" +
    "  <time>1236235618357</time>" +
    "  <sign>a2e82a649b38ad10790160ec40e282af</sign>" +
    "  <result>Yes</result>" +
    "  <subscUserId>elb_aui_005</subscUserId>" +
    "  <appInstanceId>USER8B38B4C13EFE7276F75889E3123C4428</appInstanceId>" +
    "  <gmtStart>"+util.TimeHelp.getTimestamp_BeforeNDay(65)+" 00:00:00</gmtStart>" +
    "  <gmtEnd>"+util.TimeHelp.getTimestamp_BeforeNDay(7)+" 23:59:59</gmtEnd>" +
    "  <subscUrl>http://mall.alisoft.com/apps/subsc/subscDisplay!execute.jspa?appId=elbert_app_dsc005</subscUrl>" +
    "  <errorMessage>" +
    "</errorMessage>" +
    "</AppSubscResult>";
调用
String2InputStream(ExpXmlText );
结果报:
java.io.UTFDataFormatException: Invalid byte 2 of 2-byte UTF-8 sequence.
经查时由于声明的ExpXmlText 是UTF-8编码的,而转换的时候使用默认的编码是gbk的
查明原因后,将原函数修订如下
 static InputStream String2InputStream(String str) throws Exception{
     ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes("utf-8"));
     return stream;
 }
问题解决
本文转自elbertchen 51CTO博客,原文链接:http://blog.51cto.com/linkyou/283238,如需转载请自行联系原作者
你可能感兴趣的文章
学习曲线
查看>>
android-第一行代码
查看>>
项目Beta冲刺(团队6/7)
查看>>
2019-05-20 Java学习日记之String类型
查看>>
js小练习——页面实现重置、反选、全选三个按钮的功能
查看>>
laravel----------自动生成模型,控制器,视图的操作步骤。
查看>>
DIR和dirent结构体
查看>>
Angualr+asp.net core webapi+efcore系列
查看>>
R语言编程
查看>>
Nginx配置详解
查看>>
POJ 1659 Frogs' Neighborhood
查看>>
博客打开慢?请禁用WordPress默认的谷歌字体!
查看>>
如何循环枚举类型
查看>>
FAQ软件卸载
查看>>
谈谈多线程的思维方式
查看>>
BeanFactory和FactoryBean的区别
查看>>
Eclipse安装git
查看>>
ASP.NET缓存全解析2:页面输出缓存 转自网络原文作者李天平
查看>>
sql的书写顺序
查看>>
requirejs seajs
查看>>