java:
package com.iofamily.app;
import java.io.File;
import com.iofamily.util.FileUtils;
/**
* @author lmiky
* @date 2013-11-7
*/
public class Test {
/**
* 字节转为16进制
* @author lmiky
* @date 2014-5-14
* @param src
* @return
*/
public static String bytesToHexString(byte[] src) {
StringBuilder stringBuilder = new StringBuilder("");
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
public static void main(String[] args) throws Exception {
String sourceFile = "D:/test.jpg";
File file = new File(sourceFile);
byte[] bytes = FileUtils.readFile(file);
String hexStr = bytesToHexString(bytes);
System.out.println(hexStr);
}
}
nodejs:
var utils = require('./utils');
var fs = require('fs');
var fileUtils = module.exports;
/**
* 将文件二进制数据转成文件
* @param fileBytesHex 读取文件为2进制数据后转为16进制字符串
* @param fileName
* @param cb
*/
fileUtils.parseByteToFile = function(fileBytesHex, fileName, cb) {
fs.writeFile(fileName, new Buffer(fileBytesHex, 'hex'), function(err) {
utils.invokeCallback(cb, err);
});
}