【问题标题】:Write Hexadecimal Data to File As it is?将十六进制数据按原样写入文件?
【发布时间】:2016-04-14 12:34:14
【问题描述】:

我有一个十六进制数据块,我想按原样写入文件。

阻止 的 000100050000470040002E000000000099009900500000000000490067008D0000000000890081007600000000004C002F0027000000000200050000470040002E0000000000000D00590065006C006C006F00770020006F006C0069007600650000000099009900500000000000000D004F006C006900760065002000790065006C006C006F007700000000490067008D0000000000000D00440069007300740061006E007400200062006C00750065000000008900810076000000000000110050006500610072006C0020006D006F00750073006500200067007200650079000000004C002F00270000000000000F004D00610068006F00670061006E0079002000620072006F0077006E0000 强>

上面的块代表一个 Adob​​e .aco(存储调色板)文件。

在十六进制编辑器中打开的类似文件显示:-

关于尝试使用给定块编写

代码

try {   
    File ACO = new File(f.getAbsolutePath(),"NameRandom.aco");
    ACO.createNewFile();

    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(ACO)));
    try {
        writer.write(<-- Above Block  -->);
    } finally {
        writer.close();
    }
} catch (IOException e) {
    e.printStackTrace();
}

但上面的代码在hed Editor中显示的不同(如下图)

我想在文件中写入处于当前状态的给定块。

【问题讨论】:

    标签: java android file hex


    【解决方案1】:

    您得到不同的十六进制代码,因为您正在以某种编码编写字符串。如果你想写入这样的字节数据,首先将数据从字符串转换为字节[],然后写入字节。 转换看:Convert a string representation of a hex dump to a byte array using Java?

    【讨论】:

      猜你喜欢
      • 2015-01-03
      • 2014-03-16
      • 2015-08-22
      • 2013-07-11
      • 2011-12-22
      • 1970-01-01
      • 2013-01-07
      • 2021-10-27
      • 2018-06-18
      相关资源
      最近更新 更多