Remember a file transcoding and binary viewing learning

Require:

Chinese characters: GBK internal code

Western: ASCII code

Spacer:

/**
     * field separator
     */
    private static final String FIELD_INTERVAL = new String(new byte[]{0x01});

    /**
     * line separator
     */
    private static final String LINE_INTERVAL = new String(new byte[] {0x0A});

  

Transcoding: (to convert Western text to ASCII code)

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);
    }

  

  

Write a file in binary form in GBK mode:

/**
     * write in binary
     * @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;
    }

  

File Binary Viewer: Tool (Binary Viewer)

Where 01 is 0x01, corresponding to the above field separator (field separator)

       0A is 0x0A, corresponding to the line spacer above

 

 

This content is to record what happened at work, and to learn more about it for subsequent updates...


To be continued....

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325297368&siteId=291194637