из hex перевести в текст

162
26 ноября 2017, 14:31

Есть вот такой код который выполняется на сервере (c#)

public static string ToHexString(string str) 
{ 
    var sb = new StringBuilder(); 
    var bytes = Encoding.Unicode.GetBytes(str); 
    foreach (var t in bytes) 
    { 
        sb.Append(t.ToString("X2")); 
    } 
    return sb.ToString(); // returns: "48656C6C6F20776F726C64" for "Hello world" 
}
public static string FromHexString(string hexString) 
{ 
    var bytes = new byte[hexString.Length / 2]; 
    for (var i = 0; i < bytes.Length; i++) 
    { 
        bytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16); 
    } 
    return Encoding.Unicode.GetString(bytes); // returns: "Hello world" for "48656C6C6F20776F726C64" 
}

если перевести русские слова в hex то в java я не могу обратно этот hex перевести в нормальный текст. А с английскими словами все норм..

Помогите пожалуйста)

переписывать серверную часть не вариант..

на сервере получается вот такая строка hex

3400370020003D043504340435043B044F04200033043E043404300420002D00200041043E043704340430043B0420003D043E0432044B0439042000 30043A0442043804320420003D04300420004D044204430420003D043504340435043B044E04

из текста "47 неделя ...."

Answer 1

Ваша задача решается достаточно просто с помощью Apache Commons Codec:

String result = new String(Hex.decodeHex(hexString.toCharArray()), CharEncoding.UTF_16LE);

Ссылка на MavenRepo: https://mvnrepository.com/artifact/commons-codec/commons-codec/1.11

READ ALSO
Error:Execution failed for task

Error:Execution failed for task

С чем может быть связана следующая ошибка и как ее исправить?

281
Создание многопользовательской игры [требует правки]

Создание многопользовательской игры [требует правки]

Как с помощью Java создать многопользовательскую игру, например просто мир, в котором будет отображаться друг? Возможно ли это?(Либо пакет javanet,...

170
Java Создание Jar архива

Java Создание Jar архива

Создал проект использующий JavaFX и fxml графический интерфейси хотел бы создать jar архив, чтобы скинуть кому-нибудь мою прогу - первый тестовый...

209
Синхронный вывод в консоль

Синхронный вывод в консоль

Здравствуйте, есть два потокаКаждый должен выводить в консоль 10 строк, в каждой строке по 5 символов

190