• Android--字符串和16进制相互转化(解决中文乱码)


    import java.io.ByteArrayOutputStream;
    
    /**
     * Created by Administrator on 2016/2/2.
     * -----------16进制和字符串互转---------
     * ------------解决中文乱码问题---------
     */
    public class StringToSixthUtils {
    
        private static String hexString = "0123456789abcdef";
    
        /*
         * 将字符串编码成16进制数字,适用于所有字符(包括中文)
         */
        public static String encode(String str) {
            //根据默认编码获取字节数组
            byte[] bytes = str.getBytes();
            StringBuilder sb = new StringBuilder(bytes.length * 2);
            //将字节数组中每个字节拆解成2位16进制整数
            for (int i = 0; i < bytes.length; i++) {
                sb.append(hexString.charAt((bytes[i] & 0xf0) >> 4));
                sb.append(hexString.charAt((bytes[i] & 0x0f)));
            }
            return sb.toString();
        }
    
        /*
         * 将16进制数字解码成字符串,适用于所有字符(包括中文)
         */
        public static String decode(String bytes) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);
            //将每2位16进制整数组装成一个字节
            for (int i = 0; i < bytes.length(); i += 2)
                baos.write((hexString.indexOf(bytes.charAt(i)) << 4 | hexString.indexOf(bytes.charAt(i + 1))));
            return new String(baos.toByteArray());
        }
    }
  • 相关阅读:
    .net同时执行多条sql语句(含事务功能)
    SQL标量值函数:小写金额转大写
    找出与某id相近的四条记录
    sql查询优化 索引优化
    半成品收发数量流程管控
    半成品进销存
    多表分页查询存储过程
    DataGridView数据用NPOI导出到Excel
    SQL事务+存储过程
    left join、right join和join的区别
  • 原文地址:https://www.cnblogs.com/819158327fan/p/5178122.html
Copyright © 2020-2023  润新知