当前位置: 移动技术网 > 移动技术>移动开发>IOS > IOS NSData 与 Java十六进制的知识学习讲解

IOS NSData 与 Java十六进制的知识学习讲解

2018年09月12日  | 移动技术网移动技术  | 我要评论

近期公司项目用到了,ios使用本身自带的nsdata将字符串转化为一串 数字+英文的(着实看不懂)

经过大量百度,谷歌。以及求教ios查看nsdata底层实现,发现就是讲string字符串转成了十六进制。

例如:string str="123abc42l4jk234"; 转化后:31323361626334326c346a6b323334

附上字符串转16进制代码:

	/**
	 * 字符串转化成为16进制字符串
	 * @param s
	 * @return
	 */
	public static string strto16(string s) {
	 string str = "";
	 for (int i = 0; i < s.length(); i++) {
	  int ch = (int) s.charat(i);
	  string s4 = integer.tohexstring(ch);
	  str = str + s4;
	 }
	 return str;
	}
	
	/**
	 * 16进制转换成为string类型字符串
	 * @param s
	 * @return
	 */
	public static string hexstringtostring(string s) {
	 if (s == null || s.equals("")) {
	  return null;
	 }
	 s = s.replace(" ", "");
	 byte[] bakeyword = new byte[s.length() / 2];
	 for (int i = 0; i < bakeyword.length; i++) {
	  try {
	bakeyword[i] = (byte) (0xff & integer.parseint(s.substring(i * 2, i * 2 + 2), 16));
	  } catch (exception e) {
	e.printstacktrace();
	  }
	 }
	 try {
	  s = new string(bakeyword, "utf-8");
	  new string();
	 } catch (exception e1) {
	  e1.printstacktrace();
	 }
	 return s;
	}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网