频道栏目
首页 > 资讯 > IOS > 正文

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

18-07-31        来源:[db:作者]  
收藏   我要投稿

近期公司项目用到了加密,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;
	}
相关TAG标签
上一篇:如何在IntellijIDEA14.1.4Scala下搭建开发环境
下一篇:经历过的数据管理
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站