java - 如何在java中将类的对象转换为十六进制数组

标签 java hex byte smartcard javacard

具有一些数据的类对象,我将那个对象写入 java 卡。 我有一个函数可以将十六进制数据转换为字节数组,然后使用 java 卡将该数据写入智能卡。 当我将数据转换为十六进制格式时,我加密了该数据。 所以我需要将类对象转换为十六进制。 请告诉我如何在 java 中将对象转换为十六进制格式。

我正在使用智能卡类型 = 使用 java card 2.2.2 的接触卡和使用 apdu 的 jcop。

最佳答案

我在这里向您发送程序,该程序将对象转换为字节数组,反之亦然。

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Date;

public class Sandbox {
  public static void main(String[] args) {
    try {
      // convert object to bytes
      Date d1 = new Date();
      System.out.println(d1);
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      ObjectOutputStream oos = new ObjectOutputStream(baos);
      oos.writeObject(d1);
      byte[] buf = baos.toByteArray();

      // convert back from bytes to object
      ObjectInputStream ois =
        new ObjectInputStream(new ByteArrayInputStream(buf));
      Date d2 = (Date) ois.readObject();
      ois.close();

      System.out.println(d2);
    } catch (IOException ioe) {
      ioe.printStackTrace();
    } catch (ClassNotFoundException cnfe) {
      cnfe.printStackTrace();
    }
  }
}

关于java - 如何在java中将类的对象转换为十六进制数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8499663/

相关文章:

java - 可运行jar文件创建-jar包中包含的资源文件夹

java - 如何正确比较 Java 中的两个 Float 包装器?

c++ - 将文本十六进制转换为真正的十六进制表示 C++

c++ - 我如何在 cout/c++ 中写这个?

android - 字节数组 -> 字符串 -> 字节数组

c - 对 char 数组中存储的字节使用 strtol

java - 有向加权图的复合模式

java - 链表栈,推到底部而不是顶部

c# - 将十六进制字符串转换为图像

java - String 到 Byte[] 和 Byte 到 String