Как преобразовать byte [] в текстовое представление байтового кода в Java? - PullRequest
0 голосов
/ 29 октября 2018

У меня есть byte[], который представляет HelloWorld.class, теперь я хочу преобразовать в, скажем, String, которая представляет байт-код (аналогично javap -c HelloWorld.class)? И я хочу сделать это программно.

Проще говоря, я хочу перейти с

byte[] до String, что представляет javap -c HelloWorld.class

и

байт-код String обратно на byte[]

Примечание: все сделано программно, поэтому я не хочу вызывать что-либо через командную строку

Открыт для любых известных стандартных библиотек, таких как asm или bytebuddy.

1 Ответ

0 голосов
/ 29 октября 2018

Используя ASM, попробуйте создать ClassReader поверх byte[] представления класса, затем вызвать ClassReader.accept(), указав TraceClassVisitor в качестве аргумента ClassVisitor.

(Не проверено. Мы используем большинство этих компонентов, но не в этой комбинации.)

...