Экспорт RSAP-параметров в формат для чтения

String a = new String("foo");
String b = new String("foo");
System.out.println(a == b); // prints false
System.out.println(a.equals(b)); // prints true

Убедитесь, что вы понимаете, почему. Это потому, что сравнение == сравнивает только ссылки; equals() метод сопоставляет содержимое по символу.

Когда вы вызываете new для a и b, каждый получает новую ссылку, указывающую на "foo" в таблице строк. Ссылки разные, но контент один и тот же.

0
задан Glitch_Doctor 13 July 2018 в 11:07
поделиться

1 ответ

Значение не может быть преобразовано непосредственно в строку, но оно может быть представлено строкой Base64:

var myString = Convert.ToBase64String(modulus);

Это вернет строку, которая впоследствии может быть расшифрована, чтобы получить исходный двоичный файл данных.

2
ответ дан Pancake 17 August 2018 в 13:10
поделиться
  • 1
    Ты прав. Но не могли бы вы сказать мне, почему он должен быть сначала преобразован в base64? Я отвечу на ваш ответ, но я должен подождать около 5 минут :) – bielu000 13 July 2018 в 10:30
  • 2
    Это связано с тем, что данные содержат непечатаемые символы, как вы заметили, когда пытались преобразовать их непосредственно в строку. Base64 - это способ представления двоичных (непечатаемых) данных в виде ASCII или печатаемого текста. – Pancake 13 July 2018 в 10:39