zoukankan      html  css  js  c++  java
  • 记一次文件转码与二进制查看学习

    要求:

    汉字:GBK内码

    西文:ASCII码

    间隔符:

     /**
         * 字段间隔符
         */
        private static final String FIELD_INTERVAL = new String(new byte[]{0x01});
    
        /**
         * 行间隔符
         */
        private static final String LINE_INTERVAL = new String(new byte[] {0x0A});
    

      

    转码:(对西文进行转ASCII码)

    private void appendWithAscii(StringBuilder builder, Object... value) {
      for (Object object : value) {
        if (object != null) {
          builder.append(getAscii(String.valueOf(object)));
        }
        builder.append(FIELD_INTERVAL);
      }
    }
    
    
    private String getAscii(String input) {
            byte[] asciiByte = input.getBytes(Charsets.US_ASCII);
            return new String(asciiByte);
        }
    

      

      

    以GBK方式通过二进制形式写入文件:

     /**
         * 以二进制方式写入
         * @param fileName
         * @param content
         * @param encoding
         * @return
         */
        public static boolean writeFileBinary (String fileName, String content, String encoding) {
            boolean flag = false;
            DataOutputStream out = null;
            try {
                out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(fileName)));
                byte[] contentByte = content.getBytes(encoding);
                out.write(contentByte);
                flag = true;
            } catch (IOException e) {
            } finally {
                if (out != null) {
                    try {
                        out.close();
                    } catch (IOException e) {
                    }
                }
                
            }
            
            return flag;
        }
    

      

    文件二进制查看:工具(Binary Viewer)

    其中 01 为 0x01,对应上面的  字段间隔符 (域间隔符)

           0A为0x0A,对应上面的 行间隔符

    此内容谨记录工作中所遇之事,深入了解待后续更新.....


    未完待续....

  • 相关阅读:
    图片反转效果
    css实现三角效果
    漂亮的阴影效果
    css名词解释
    偷学来的资料
    Git、GitHub、GitLab三者之间的联系以及区别
    分模块、分工程管理
    Spring AOP面向切面编程
    为什么要用存储过程,什么时候要用存储过程,存储过程的优点
    Spring扫描组件的使用详解
  • 原文地址:https://www.cnblogs.com/binbang/p/8992177.html
Copyright © 2011-2022 走看看