java模拟PHP的pack和unpack类
网络编程 2021-07-05 09:10www.168986.cn编程入门
这篇文章主要介绍了java模拟PHP的pack和unpack类的相关资料,需要的朋友可以参考下
本文实例为大家分享了java模拟PHP的pack和unpack类的具体代码,供大家参考,具体内容如下
package qghl.intp.util; import java.io.IOException; import java.io.InputStream; public class PackUtil{ / 打包字符串 类似php中pack在java中的实现 @param str @return / public static byte[] pack(String str) { int nibbleshift = 4; int position = 0; int len = str.length() / 2 + str.length() % 2; byte[] output = new byte[len]; for (char v : str.toCharArray()) { byte n = (byte) v; if (n >= '0' && n <= '9') { n -= '0'; } else if (n >= 'A' && n <= 'F') { n -= ('A' - 10); } else if (n >= 'a' && n <= 'f') { n -= ('a' - 10); } else { continue; } output[position] |= (n << nibbleshift); if (nibbleshift == 0) { position++; } nibbleshift = (nibbleshift + 4) & 7; } return output; } / 16进制的字符解压 类php中unpack @param is @param len @return @throws IOException / public static String unpack(InputStream is, int len) throws IOException { byte[] bytes = new byte[len]; is.read(bytes); return unpack(bytes); } / 16进制的字符解压 类php中unpack @param bytes @return / public static String unpack(byte[] bytes) { StringBuilder stringBuilder = new StringBuilder(""); if (bytes == null || bytes.length <= 0) { return null; } for (int i = 0; i < bytes.length; i++) { int v = bytes[i] & 0xFF; String hv = Integer.toHexString(v); if (hv.length() < 2) { stringBuilder.append(0); } stringBuilder.append(hv); } return stringBuilder.toString(); } }
以上就是本文的全部内容,希望对大家学习java程序设计有所帮助。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指