2 sld22525482 sld22525482 于 2016.05.11 09:29 提问

android字符串转换成16进制怎么转?

求解答啊。。。。在OnCreate中要怎么实现呢?转换之后要怎么通过密钥加密呢?

3个回答

u011249920
u011249920   2016.05.11 09:35
已采纳

String转换成16进制的方法:
public static String str2HexStr(String str)

{

char[] chars = "0123456789ABCDEF".toCharArray();      
StringBuilder sb = new StringBuilder("");    
byte[] bs = str.getBytes();      
int bit;      

for (int i = 0; i < bs.length; i++)    
{      
    bit = (bs[i] & 0x0f0) >> 4;      
    sb.append(chars[bit]);      
    bit = bs[i] & 0x0f;      
    sb.append(chars[bit]);    
    sb.append(' ');    
}      
return sb.toString().trim();      

}

至于密钥加密得看你用什么加密方式进行加密了

sld22525482
sld22525482 回复caozhy: 请问要转换后的数据打印出来要哪个参数?
一年多之前 回复
sld22525482
sld22525482 回复caozhy: 大神。。能帮我传一段代码吗?我用public static String str2HexStr(String str) 得到一串16进制数据然后用3DES进行加密,密钥是1234,请问要怎么写呢。。。自学不易啊T。T
一年多之前 回复
caozhy
caozhy 回复sld22525482: 加密的话,需要先解密。
一年多之前 回复
sld22525482
sld22525482 那我的编码方式不用说明一下吗?还有想问的就是OnCreate中调用这个函数的时候str2HexStr() 括号中要选择那个参数呢?用的是3DES加密
一年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.05.11 09:32
 byte[] a = 字符串.getBytes("编码方式,比如UTF-8");
String s = ""; //结果
   for (int i = 0; i < a.length; i++) {
    s+= (a[i] > 15 ? "" : "0") + Integer.toHexString(a[i]);
   }
sld22525482
sld22525482 大神 我想问一下我这个是先把字符串转成比特类型数组在转成16进制把。。String s = ""; //结果 这一步能解释一下吗,还有这样转弯16进制以后我想把结果打印出来要怎么写呢,是哪个参数?谢谢了!
一年多之前 回复
sld22525482
sld22525482 回复caozhy: 就是字母啊
一年多之前 回复
caozhy
caozhy 回复sld22525482: 你用全角的符号了?
一年多之前 回复
sld22525482
sld22525482 回复caozhy: 就是“UTF-8”啊。。。。我是说byte[] a = STR.getBytes(“UTF-8”); 这行代码中的getBytes报错了 是红的。。
一年多之前 回复
caozhy
caozhy 回复sld22525482: 你不会输入“比如”了吧。
一年多之前 回复
sld22525482
sld22525482 顶一个一个STR字符串 byte[] a = STR.getBytes(比如UTF-8); 这样写报错呀getBytes这里
一年多之前 回复
caozhy
caozhy 回复sld22525482: 编码方式
一年多之前 回复
sld22525482
sld22525482 为什么我定义的字符串STR.getBytes,getBytes连想不出来呢?还有那个String s 的隐号里面要写什么呀
一年多之前 回复
CSDNXIAON
CSDNXIAON   2016.05.11 09:32

16进制转换成字符串
字符串转换成16进制
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!