bytes数组转String乱码
    问题是这样的,我从服务端接收的是图片的16进制字符串,然后我在客户端上先转换成byte数组,在转换成String,在转换成Drawable。但是有的图片转换成String就会出现乱码。
    比如说,这是我收到的16进制图片字符串的一部分“89504E470D0A1A0A0000000D494844520000006400000064080600000070E295540000000473424954080808”
    然后转成byte数组后,用这个byte数组来new 一个String,然后我打印String:�PNG
     
     ������IHDR������d������d������p�T������sBIT|d����� ��IDATx���ɏ�[v��[�{����t�ɛ7�r����e�l�J2آ�T�C����1C� $��@*�1*J���}s�f��N_�6�e��^@*#��9'�k�w��y�z�'���˪-�μz9�r�:��׿��C��g+����agZ��� $rN,1�j7���Z)����*Z+X-\�H� �@��'E�:�J��1)��-ϙX��������"���?���w    >�_�W�-���'�l��?���ֿ�-�|`<��>�}ʟ���W��^[Z'x�QM�2��q�Mk�=F��(�΁��y.�&�1�6L�'�HњgO�y�Ś g������3WW):+�[0����y� �qmK�����?-&�hdd�#����~�ˎ?�k�_�����_�9�(E�(�P8^<�-H)΁��FΓG�L�A0FQJADc8�Z@i��T�Z�`#8%P2���.�$�R�d����F@K&�z� h-�S�%fr)(%hQ(��/� �>>�)��L�PJf�>�����J�8N��7k��Ę)��5���s�i�j�h>p��\7���w��f@�Ar�aX_S��l{��0�x3]a\��x�&�^ߏ��{)�m��c�����/���LK���!���
     �Z�1����Tȹ�R"�BJ��������������>G��4�� ,1��Ja���h!�DL(8UPBb.ĒpF���QB��
     1�1%���5B�!��a&�R=+����p'���,��4k*DCX1%>�tO���=A4�D����iA)X


            然后就这样了。。。。
0

1个回答

encoding不对,确认以前的编码是gbk还是utf-8还是其它编码。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
byte[]转String,编码与乱码问题,以及Base64编码
知识贵在积累。byte[]转String,编码与乱码问题,以及Base64编码相关学习。
Java byte数组转String字符集问题
byte[] 转String时,可以使用以下方式制定字符集编码:n// byteRequest为byte[]类型nString request = new String(byteRequest, "UTF-8");n今天遇到一个问题,同样的程序在Eclipse里面运行和打成Jar包用cmd运行,一个在解析请求会报错,另一个正常。n经检查发现是因为没有指定字符串的字符集导致的,因为操作系统默认
如何让byte数组转换为String字符串时候去除乱码的问号
1. 加入这家公司一直跟通信层打交道  天天使用byte数组传递数据  好怀念 使用http协议 传数据  至少人家 okttp 或者retrofit帮你封装好了 现在 天天是十进制转换为16进制,byte 数组转换成short,int ,String  上面一篇是各种 转换的方法 rn   今天碰到的问题是 一串byte数组 我可能是只需要前十个字节  但是 传过来定义时候可能定义32位长度  
Tomcat下byte[]转String出现乱码问题
Java Web课程老师给我们发了一份实验指导书,上面有一个示例程序是这样的:<%@ page contentType="text/html;charset=gb2312"%>n<%!npublic String codeToString(String str)n{//处理中文字符串的函数n String s=str;n tryn {n byte tempB[]=s.getBytes
Android byte[] 和 String互相转换
这个工程是简单将String和byte[]互相转换的Demo,有需要的可以下载
Java中_byte[]转String问题_字节数组和字符串互转问题
rn Java中_byte[]转String问题_字节数组和字符串互转问题rn rn这两天得给不知哪里的服务器接口传图片,但cpp的程序,接口图片参数不是buty的,而是string的。rn这就坏了,string在java里面是有编码的,不是纯粹的raw数据。rn经过调试,最终发现内部协议接口规则:图片等二进制接口,不能用string,string在java中有字符集的概念。rn rn完事只好协调...
JAVA中String和byte[]和InputStream之间的相互转换
在项目开发过程中,我们经常需要对String、byte数组、InputStream进行一些必要的转换,今天,我们分别的来实现一下这些不同类型的数据的转换
byte[] 转换成String,再getBytes()之后byte[]内容与原数组不同
问题代码 byte[] bytes = new byte[]{40, -37, -96, 46, -75, -10};n byte[] myBytes = new String(bytes).getBytes();n System.out.println(Arrays.toString(bytes));n System.out.println(Arrays.toString(myBytes));输出
Delphi Byte[] 转String 中文乱码问题解决
Socket通信时,取中文时乱码,这主要是编码问题AnisString是双字节编码,而Unicode是3字节编码解决办法const buf:array[0..8] of byte =(228, 189, 160, 229, 165, 189, 239, 188, 129); //buf:TByteArray; 这两个效果一样var  s: string;  i:Integer;  stream: ...
C# string转换为几种不同编码的Byte[]的问题
C#中关于string转换为几种不同编码的Byte[]的问题
C#byte[]转string的几种方式
byte[]转英文字符串采用ascii码nGroupName = Encoding.ASCII.GetString(faceInfo.groupName).Replace('\0', ' ').Trim(),nnByte[]转中文采用UTF8或者gb2312nPersonName = Encoding.GetEncoding(&quot;gb2312&quot;).GetString(faceInfo.szPerso...
Bytes数组处理工具
记一个byte数组与int互转、与string互转、字节替换的例子,与int互转的代码解析回头再补上nnnn/**n * Bytes数组处理工具n * @authorn */npublic class ByteUtils {nn /**n * byte转intn * @param bn * @param startn * @param lenn * @...
solidity学习笔记(十八)动态、固定字节数组以及string之间的转化
1.固定大小的数组之间的转化nnpragma solidity ^0.4.6;ncontract TestCharge{n    bytes2 public b = 0x6c11;n    // bytes 大小使用bytes32的32决定n    function bLength() returns(uint){n        return b.length;n    }nn    funct...
python3中bytes和string之间的互相转换
Bytes objects are immutable sequences of single bytes. Since many major binary protocols are based on the ASCII text encoding, bytes objects offer several methods that are only valid when working with
Android读取文件时,由byte转成String字符串时出现乱码
先看看出乱码的代码nnn public static void getInfo(Context context) {n try {nn FileInputStream fileInputStream = context.openFileInput(&quot;hpPortal.txt&quot;);n byte[] bytes = new byte[1024]...
动态字节数组的转换 Tbytes String、ANSIString及TBytes之间的转换
一、string转为ansistringrn1、直接赋值 (有警告)rn2、ansistring()类型强制转换。(无警告)rn二、ansistring 转为stringrn1、直接赋值 (有警告)rn2、string()类型强制转换。(无警告)rn三、string 转为Tbytesrn1、bytes:= bytesof(str) 已转为ansi编码rn2、bytes:= widebytesof(
byte[]与string相互转换
byte[]转换为字符串存储,然后再转回来rn byte[] bytes = System.Text.Encoding.Default.GetBytes("fadfasfasdf");n string str = BitConverter.ToString(bytes);nn string s2 = BitConverter.ToS
字节数组byte[]转string后,字符匹配问题
在项目中,从map中取值,map中明明有对应的key,取出结果却为null。nn由于某些原因,byte[]数组需设定固定长度,如32;但实际一般用不了这么长,如:nnnnnnmqttTopicBytes长度为32,但实际只有钱16位放入了数值,其他为空。nn将mqttTopicBytes转为字符串:nnnString mqttTopic = new String(mqttTopicBytes);n...
Golang黑科技之——string与[]byte转换
我们知道,相对于C语言,golang是类型安全的语言。但是安全的代价就是性能的妥协。 n下面我们通过Golang中的“黑科技”来一窥Golang不想让我们看到的“秘密”——string的底层数据。 n通过reflect包,我们可以知道,在Golang底层,string和slice其实都是struct:type SliceHeader struct {n Data uintptrn Len
关于String类型转换为Byte类型数组
String类型数据转换为Byte数组后需要注意在mac系统下默认使用UTF-8编码,在windows系统下默认使用GBK编码,当string类型数据中包含汉字时则在转换为对应的ASCII码时占用三位,其他的类型的占用一 位n n nn...
16进制与字符串的互转及转换为byte数组
nimport java.io.ByteArrayOutputStream;rnimport java.io.UnsupportedEncodingException;rnrnpublic class TestToHex {rn//switch0:bfaab9d8c1bfb1a8beafrn private static String hexString = &quot;0123456789ABCDE...
Solidity 数组类型。定长数组(bytes1)、不定长数组(bytes)与string之间的转换
demo.sol(定长数组,bytes1 ... bytes32):nnnpragma solidity ^0.4.20;nnncontract fixedArray {n n //bytes1 ... bytes32n bytes2 b2 = "xy"; // bytes2 长度必须是2个字符。 定义之后不可以修改。n bytes3 public b3 = "x...
js byte string转换相关概念
refs:nnhttps://stackoverflow.com/questions/11025414/how-to-declare-an-array-of-byte-in-javascriptnnhttp://www.w3school.com.cn/tiy/t.asp?f=jseg_isNaNnn nnjs没有真正意义上的byte类型(参考refs1),只有相对于num或int类型的数字,所以要...
C# bytes[]和sting互相转换
string类型转成byte[]:byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str ); byte[]转成string:string str = System.Text.Encoding.Default.GetString ( byteArray ); string类型转成ASCII byte[]:(&quot;01&quot; 转成 byt...
Python3中bytes与string的互相转换
website = ‘http://www.cnblogs.com/txw1958/’1. n按utf-8的方式编码,转成byteswebsite_bytes_utf8 = website.encode(encoding="utf-8")2.按gb2312的方式编码,转成byteswebsite_bytes_gb2312 = website.encode(encoding="gb2312")3.解码
byte数组转换成十六进制(bytesToHexString)
/* byte数组转换成十六进制输出:&quot;abcd&quot; =&amp;gt; &quot;61626364&quot; */public String bytesToHexString(byte[] bArr) {n StringBuffer sb = new StringBuffer(bArr.length);n String sTmp;nn for (int i = 0; i &amp;lt; bArr.length...
Java字符串乱码转byte[]数组判断编码类型的方法
是这样的,在使用jsoup做爬虫的时候,抓取到的网页二进制编码不确定,有的是utf-8有的是GBK,所以就需要进行编码判断nn使用工具:juniversalchardetnnmaven包:nnn&amp;lt;!-- https://mvnrepository.com/artifact/com.googlecode.juniversalchardet/juniversalchardet --&amp;gt;n ...
java char数组输出的乱码问题
今天在写socket时,通过网络传输字符串,读出来的时候存入了一个char型字符串,然后将数组输出时,发现了一个问题(以前也遇到过),就是除了应该输出的信息,还输出了很多方框~~~rn在网上查了一下乱码,说是编码问题,其实不是的,解决方案很简单,声明数组的时候一定要初始化!!rnchar buf[] = new char[200];rn rnfor(int i = 0; i &amp;lt; 200; i...
java:RSA加解密字符串与byte[]数组转换 不用String方法的原因
下图是一个使用new String(); String.getBytes();方法进行转换时变量的值。nn在java中的byte[] 与 String 转换,是遍历byte[] 把每个byte元素数值转化为char 在放到String的char数组里,例如byte[0] = 115 对应的char字符为 ‘s’ 。n如果都是这样的话,看起来直接用String方法进行转换就行。n但是, 观察上图...
Java中单字节Ascii的byte字节数组与String转换
这个东西讲起来很蹩脚.Java应用程序一般来讲在上层界面中都是使用String来描述字符串.String其实是一个双字节的数组.在java中,char是2个字节的字符,也就是说String是char的数组.但其内部的关系一般人也没有必要去研究.两个字节的字符对于经常做底层开发的人是比较讨厌的事情.底层开发一般都使用单字节的ascii码字符.在数据传输时将单字节的字符按照byte的方式进行传输.rn
Java读取文件byte转化String问题
byte转化String,使用ISO-8859-1编码
常用格式转换整理(byte转string, int转string....)
1、String和int转换nn(1)Sting 转为intnnnString str = &quot;123&quot;;ntry {n int a = Integer.parseInt(str);n} catch (NumberFormatException e) {n e.printStackTrace();n}nn(2)int转为StringnnnString str = &quot;123&quot;;ntry {...
关于byte数组转string再还原为byte的问题解决
byte[] byt = new byte[] { 0x24, 0x24, 0x00, 0xef, 0x60, 0x02, 0x88, 0x88, 0x80, 0x72, 0x70, 0x99, 0x55, 0x30 };rnrnrn方法一:不可还原字节数组byt rnstring multStr = Encoding.ASCII.GetString(pair.Value);rnbyte[] re
byte[] 转化为 string 转化为汉字和字母
public byte[] poetry1= new byte[5000]; nn如果只是字母就n //ASCIIEncoding encoding = new ASCIIEncoding ();n //string msg = encoding.GetString (poetry1);n //string msg = Encoding.ASCII.G...
如何将Java中的byte转为protobuf中bytes
Java中的byte转为protobuf中bytesrn  在protobuf中如果定义了bytes类型的消息传输对象rn syntax = &amp;amp;quot;proto3&amp;amp;quot;;rn option java_package=&amp;amp;quot;com.test.protobuf&amp;amp;quot;;rn option java_outer_classname = &amp;amp;quot;NettyMessage&amp;amp;quot;;rn mess
Java中byte怎么转化为String
string转化为byte[]数组String str = &quot;abcd&quot;;nbyte[] bs = str.getBytes();byte[]数组转化为string字符串/*String str1 = &quot;abcd&quot;;nbyte[] bs1 = str1.getBytes();*/nbyte[] bs1 = {97,98,100};nString s = new String(bs1);设置格式by...
图片转byte,String字符串转byte
n /**n * 图片转化成byte数组n * @param bImagen * @param formatn * @returnn */n public byte[] imageToBytes(BufferedImage bImage, String format) {n ByteArrayOutputStream out = new ...
byte[]转String出现乱码(EFBFBD或3F)
问题:rnbyte[]转String(以方便用split()对byte[]进行分割或其他操作)时,选择编码方式不同会导致产生一些字符乱码rnUTF-8时产生EFBFBDrnGBK时产生3Frn等等rnrnrn原因:rn这些字符集与byte值不是完全对应,有的byte值没有对应的字符,于是出现乱码rnrnrn解决:rn使用iso-8859-1字符集,其编码范围是0x00-0xFF
Java char数组转String问题
Java char数组如果直接转,不是单个字符单个字符的转会出现&quot;a的问题,正常的字符串结尾都是&quot;a&quot;这样导致拼接失败,遍历数组后再去就能够解决问题。
Go之[]byte字节数组与string字符串相互转换
文章目录Go字节数组与字符串相互转换1. string 转为[]byte2. byte转为stringnnGo字节数组与字符串相互转换nstring 不能直接和byte数组转换nstring可以和byte的切片转换nn1. string 转为[]bytenvar str string = &quot;test&quot;nvar data []byte = []byte(str)nnn2. byte转为stringn...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java 乱码 西班牙语 python读取西班牙语乱码