過去に、とあるカードからNFC接続でデータを読み取ったデータを整形することがあありました。
バイト配列をそのまま表示しても読めなかったので、読みやすいように整形するメソッドを用意して対応しました。
メソッド
public void debugByteLog(String id, byte[] data) {
if (data == null) {
Logger.debug(TAG, "a: id=" + id);
return;
}
String tmp = debugByteToStr(data);
Logger.debug(TAG, "b: id=" + id + ", :" + tmp);
}
public String debugByteToStr(byte[] data) {
StringBuffer stringBuffer = new StringBuffer();
for (byte hashValue : data) {
stringBuffer.append(String.format("%02x", hashValue));
}
return stringBuffer.toString();
}
実装例と出力例
- 実装例
debugByteLog("command verify", data)
- logcat出力例
b: id=command verify, :00adcd0123
コメント