Android 图片转十六进制字符串出现数据不对 10C

使用

 File file = new File(imagepath);
 FileInputStream fs = new FileInputStream(file);
 byte[] buffer = new byte[fs.available()];
 fs.read(buffer);
 String hexStr = bytes2HexStr(buffer);//byte数组转换成16进制编码的字符串
 System.out.println(hexStr);
 static String bytes2HexStr(byte[] byteArr) {
     String hexString = "0123456789ABCDEF";
     StringBuilder sb = new StringBuilder(byteArr.length*2);
     for(int i=0;i<byteArr.length;i++)
     {
            sb.append(hexString.charAt((byteArr[i]&0xf0)>>4));
            sb.append(hexString.charAt((byteArr[i]&0x0f)>>0));
     }
     return sb.toString();
 }

获取的jpg图片的十六进制字符串在标记位置后,与用UE在PC上显示的数据不一样。

请问是什么情况? 有什么解决办法?

1

4个回答

/**

  • 将图片转换成十六进制字符串
  • @param photo
  • @return */ public static String sendPhoto(ImageView photo) { Drawable d = photo.getDrawable(); Bitmap bitmap=((BitmapDrawable)d).getBitmap(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);// (0 - 100)压缩文件 byte[] bt = stream.toByteArray(); String photoStr = byte2hex(bt); return photoStr;

}

1

调试下fs.available()这里的长度是文件的长度么
imagepath和你作为对比的那个文件是一个文件么?特别注意路径是否相同

1

除去名字等信息不同以外,在后面的数据中也出现了很多不一样的地方。

0

呃,用了Android端和PC机上都用相同名字的文件之后,发现是一模一样的。。。所以此问题可以终结了

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
十六进制的字符串转十六进制
private static byte[] hexToBytes(String hexString) { if (TextUtils.isEmpty(hexString)) throw new IllegalArgumentException(&quot;this hexString must not be empty&quot;); hexString ...
十六进制字符串转十六进制
把形如: "FF9A44" 转换成: 0xFF 0x9A 0x44
c# 十六进制数据转十六进制字符串
public class Utility { /// &amp;lt;summary&amp;gt; /// 字节数组转16进制字符串 /// &amp;lt;/summary&amp;gt; /// &amp;lt;param name=&quot;bytes&quot;&amp;gt;字节数组&amp;lt;/param&amp;gt; /// &amp;lt;returns&amp;gt;返回...
字符串转十六进制与十六进制转字符串示例
package stringtohex; /** * java中使用16位(2个字节)的Unicode字符集编码作为字符编码格式。 * char类型的值也可直接作为整数类型的值来使用,但它是一个16位的无符号整数,即全部是正数,范围是0-65535 * 如果把0-65535内的一个int整数赋给char类型变量,系统会把这个int整数当成char类型变量 * @author AbuGe
字符串转十六进制 十六进制转字符串
//字符串转十六进制 String s="00011"; public static String toHexString(String s)  {  String str="";  for (int i=0;i {  int ch = (int)s.charAt(i);  String s4 = Integer.toHexString(ch);  str = str + s4;
十六进制数据 转换为 字符串
有168个f的十六进制数据 怎么转换为84字节的字符串!!!!
java十六进制数据转图片
我需要将接收到的十六进制像素点数据(来自摄像头扫描(RGB))转换成图片应该怎么做呢,数据格式如4D420FD78...DC2FD8,求指导
字符串转十六进制字符串
RT,怎么实现?rn比如:“%”转成“25”
字符字符串转十六进制字符串 和 十六进制字符串转字符字符串
字符字符串转十六进制字符串 void StringToHex(char *in,char *out) {     int high,low;     while(*in)     {         high=(*in)>>4;         low=(*in)&0xF;         *(out++)=high>9 ? high-10+'a' : high+'0
十六进制字符串转十进制字符串
-
ASCII字符串转十六进制字符串
labview 将字符串控件的数据转换成十六进制的字符串,可用于Hex显示 使用Labview2015版本写的
字符串转十六进制文本
把字符文本文件转换成十六位进制数组文件;(0x3c,0x21,0x64,0x6f,0x63,0x74,0x79,0x70,0x65,0x20,0x68,0x74,0x6d,0x6c,0x20,0x70,) 实现互转~!程序比较简单,只因自己的项目有用到,所以把它改进后传上来希望能给用到的朋友提供方便!
十六进制字符串转字节序列
十六进制字符串
Delphi 字符串转十六进制
mark一下。 //字符串转16进制 function StrToHex(src:string):string; var i: integer; des: string; begin des := ''; for i := 1 to Length(src) do begin des := des + IntToHex(Ord(src[i]),2) + ' ';
十六进制转字符串
/** *十六进制转字符串函数 *@pream string $hex='616263'; */ function hexToStr($hex) { $str = ""; for ($i = 0; $i &lt; strlen($hex) - 1; $i+= 2) $str.= chr(hexdec($hex[$i] . $hex[$i + 1])); return ...
十六进制字符串转整形
System.Convert.ToInt32( "字符串 ",16); 转载于:https://www.cnblogs.com/dashi/archive/2011/12/22/4034737.html
十六进制转字符串乱码问题
我这里想把一个十六进制数转为字符串,可是乱码了,请大家帮忙解决一下,代码如下,我在网上找了很多都发现和他们的一样,但是我这里就是乱码,返回的“���”,唉~rnrn[code=Java]rnpackage cn.com.jiayi.test;rnrnpublic class Test rn public static void main(String [] args)rn String s = "FFFFFF";rn byte[] baKeyword = new byte[s.length() / 2];rn for (int i = 0; i < baKeyword.length; i++) rn try rn baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(rn i * 2, i * 2 + 2), 16));rn catch (Exception e) rn e.printStackTrace();rn rn rn try rn s = new String(baKeyword, "UTF-8");rn System.out.println(s);rn catch (Exception e1) rn e1.printStackTrace();rn rn rn[/code]
十六进制字符串转中文
16进制转中文字符串
字符串转十六进制
从字符串转换成十六进制
数字字符串转十六进制
数字字符串转十六进制 char HexChar(char c) { if((c>='0')&&(c<='9')) return c-0x30; else if((c>='A')&&(c<='F')) return c-'A'+10; else if((c>='a')&&(c<='f')) return c-'a'+10; else return 0x10; } //将
十六进制字符串转byte[]
如题String hexstring = &quot;61707069643aB2E2CAD4&quot;; byte[] destByte = new byte[hexstring.length()/2]; int j=0; for(int i=0;i&amp;lt;destByte.length;i++) { byte high = (byte) (Character.digit(hexstring.c...
字符串转十六进制,和Unicode
/**  * 把把字符串转换为十六进制。  */ public static final String bytesToHexString(byte[] bArray) {     StringBuffer sb = new StringBuffer(bArray.length);     String sTemp;     for (int i = 0; i       sTemp = Integ
python十六进制转字符串
python上实现十六进制和二进制转为字符串。
十进制字符串转十六进制
十进制字符串转十六进制,用了c自带的标准库,
十六进制字符串转Float
一个简便的16进制字符串转浮点的方法。function MakeDouble(str: string): Single; var i:Integer; ps:PSingle; begin i:=StrToInt('$'+str); ps:=@i; Result:=ps^; end;
十六进制字符串 转 二进制
输入 十六进制字符串 输出 二进制串输入串需要可以整除2 否则输入串的最后一个字符将丢弃例 输入 D922CF4CDB 输出 ‘\xD9\x22\xCF\x4C\xDB’ (hello)代码 + 测试#include <iostream> #include <string> #include <vector> using namespace std;vector<byte> HexStrin
字符串转化为十六进制
#include <stdio.h> #include <stdlib.h> //将字符串转化为十六进制 int main() { int htoi(char s[]); char a[10] = {'3','5','B','1'}; printf("%x",htoi(a)); return 0;}int htoi(char s[]) { int i ;
十六进制字符串转十进制
package com.huawei.practice002; import java.util.Scanner; /** * @author Allen * @version 创建时间: * 类说明:十六进制字符串转十进制 */ public class Jinzhizhuanhuan10to2 { public static void main...
字符串转十六进制字符函数
private byte[] getHexBytes(String message) { int len = message.length() / 2; char[] chars = message.toCharArray(); String[] hexStr = new String[len]; byte[] bytes = new
字符串转十六进制小工具
行命令小工具,效果如下例: Williams-MacBook-Pro-2:Desktop william$ ./convert usage: ./convert <string_to_be_converted_to_hex> example: ./convert "d787108d040f4e838d04dff28e95ea30" Williams-MacBook-Pro-2:Desktop william$ ./convert "d787108d040f4e838d04dff28e95ea30" 64 37 38 37 31 30 38 64 30 34 30 66 34 65 38 33 38 64 30 34 64 66 66 32 38 65 39 35 65 61 33 30 Williams-MacBook-Pro-2:Desktop william$ ./convert "abcdefghijklmnopqrstuvwxyz" 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A
字符串转十六进制字节数组
网络通信中,有时需要传送十六进制字节数组,这时就需要将字符串转换为十六进制字节数组,比如控制无线继电器。   逻辑如下: public byte[] HexStringToByteArray(string s) { if (s.Length == 0) Debug.log("将16进制字符串转换成字节数组时出错,错误信息:被转换的字符串长度为0。"); s = s.Repl
字符串转十六进制串
2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...
十六进制字符串转整型
//c++ #include &amp;lt;sstream&amp;gt; unsigned int CTools::Hexdec(string str)      {         unsigned int x; std::stringstream ss; ss &amp;lt;&amp;lt; std::hex &amp;lt;&amp;lt; str; ss &amp;gt;&amp;gt; x; return x; } //c unsigned l...
十六进制字符串转int64
#include __int64 Str2Int64(char* str){   if(strstr(str,"0x") || strstr(str,"0X"))   {      str += 2;      __int64 tmp = 0;      int len = strlen(str);      for(int i = 0;i       {         int nDecNum;
字符串转十六进制的问题
字符串为数字,长度限定为4,如何同型转成十六进制。如字符串为8002,需同型转换占用四字节的十六进制0x08、0x00、0x00、0x02;如字符串为205,则同值转换为0x00、0x02、0x00、0x05.rn该怎么转换呢?
十六进制字符串转字符???
像这个字符串"0605040B8423F00006226170706C69636174696F6E2F766E642E7761702E6D6D732D6D65737361676500AF848C82983433333335313363008D90890780303835363600960EEAE4B887E58D9AE5BDA9E4BFA1008A808E027988058103093A80837777772E612E636F6D00"是16进制的 ,怎么把它转成字节
十进制字符串转十六进制字符串
NSString *colorStr=[self.model.sclass_color substringFromIndex:1]; unsigned long cor = strtoul([colorStr UTF8String],0,16);
字符字符串转十六进制字符串
#include "stdafx.h" #include #include #include using namespace std; char* str2hex(char* dest,char* src) {  if(src == NULL || src == NULL)   return NULL;  char* tmp = dest;  while(*src !=
十六进制字符串转ascii
有一8字节的十六进制的字符串,现在要
字节转十六进制字符串
string bytesToHexString(const char* bytes, int len) { s
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合

相似问题

2
JAVA怎么转化8进制字符串
1
把8进制的字符串转化成汉字
2
请大佬指点下:c语言长整数转化成16进制字符串,可字符串不显示?
1
Android将mp3转换成Base64字符串乱码问题
2
Android 将文件流写入byte数组之后,再转换成Base64字符串总是得到乱码的结果
1
jpa 查询日期范围内,sql语句怎么写,日期转换成字符串传过去要跟数据库的日期格式对应吗
3
Android一串字符串怎么转换成16进制数组
4
Android 一串字符串怎么转换成16进制数组
1
使用python怎么将csv文件的某些为字符串数据的列的列索引找出来,并将这些列转成数值型数据?
0
mongodb截取数据库一段字符串并判断是否包含别的字符串怎么写
2
base64字符串转成File且不写入磁盘
1
输入一个字符串,可以删除字符串s中的任意字符,剩下的字符串形成对称字符串,且该字符串为最长对称字符串
2
指定位置输出字符串:输入一个字符串后再输入两个字符,输出此字符串中从与第一个字
4
字符串是A,B 后台要把字符串写到sql里,所以字符串要转为'A','B' 查询用的JdbcTemplate
1
有一个字符串是csv格式的,如何将这个字符串里面的数据写进数据库表中?
3
JS十六进制字符串转字符串问题
0
判断这个字符串是否是安全的,如何采用C语言的程序的设计的代码的形式来实现对于字符串安全的判断
3
vue+element-ui怎么将base64字符串显示成图片啊
3
JavaScript 16进制字符串拼接问题
0
c语言如何读取文本文件中指定的字符串并保存到字符串数组中?