¿Cómo decodifico caracteres Unicode escapados en caracteres normales?

CorePress2024-01-24  8

¿Cómo puedo decodificar y reemplazar caracteres Unicode escapados a caracteres? Probé decodificadores Unicode en línea y este artículo: Cómo convertir una cadena con codificación Unicode en una cadena de letras, pero ninguna funciona.

Tengo los siguientes caracteres codificados como se muestra a continuación:

\ua6ad\ua6ad\ua6b3\ua6ae
\ua6ae\ua6b3\ua6b3\ua6ad
\ua6b2\ua6b3\ua6b3\ua6ae$\ua6ad\ua6b0\ua6ae\ua6b1$\ua6ae\ua6b2\ua6b1\ua6af

Código en sí:

public class \ua6b3\ua6af\ua6b3\ua6ad
{
    public static final boolean \u200e;
    
    public \ua6b3\ua6af\ua6b3\ua6ad() {
        final boolean \u200e = \ua6b3\ua6af\ua6b3\ua6ad.\u200e;
        if (!\u200e) {
            return;
        }
    }
    
    public void \ua6b2\ua6b2\ua6b0\ua6ae() {
        final boolean \u200e = \ua6b3\ua6af\ua6b3\ua6ad.\u200e;
        if (!\u200e && !\u200e) {
            return;
        }
    }
    
    public void \ua6b2\ua6b2\ua6b1\ua6b2(final int n, final int n2) {
        final boolean \u200e = \ua6b3\ua6af\ua6b3\ua6ad.\u200e;
        if (!\u200e && !\u200e) {
            return;
        }
    }
    
    public void \ua6ad\ua6b2\ua6ae\ua6b3(final int n, final int n2, final int n3) {
        final boolean \u200e = \ua6b3\ua6af\ua6b3\ua6ad.\u200e;
        if (!\u200e && !\u200e) {
            return;
        }
    }

¿Esto responde a tu pregunta? Cómo convertir una cadena con codificación Unicode en una cadena de letras

- el hutt

27 de marzo de 2021 en14:17

¡Hola! ¿Lo intenté pero no funciona?

FlujoRR

27/03/2021 a las 14:18

Si se trata de archivos fuente, puede utilizar Native2ascii -reverse -encoding utf-8 <filename> (native2ascii se incluye con Java 8 y versiones anteriores).

-Mark Rotteveel

28/03/2021 a las 15:49

¡Hola! gracias. Probé ese también. Muestra tonterías, el código en sí está ofuscado. Creo que necesito descifrarlo.

FlujoRR

28/03/2021 a las 16:25



------------------------------------

Estos personajes parecen ser Bamum. Simplemente puedes leer este texto e imprimirlo, por ejemplo:

public static void main(String[] args) {
    String str = "public static void \ua6b2\ua6b2\ua6b0\ua6ae() {";
    System.out.println(str);
    ꚲꚲꚰꚮ();
}

public static void ꚲꚲꚰꚮ() {
    System.out.println("it works!");
}

Salida:

public static void ꚲꚲꚰꚮ() {
it works!

Si estos caracteres son algún tipo de cifrado de sustitución, puedes intentar encontrar el diccionario de codificación, pero esto puede resultar imposible.

Ver también: Reemplazar un carácter en una cadena con otro carácter de otra cadena

4

¡Gracias amigo! ¿Entonces no es posible decodificar este Unicode?

FlujoRR

27/03/2021 a las 15:45

No todos. Incluso si los decodificas, no tendrá sentido, porque los datos (nombres) originales se han perdido. Tendrás que poner tus propios nombres y seguir cambiándoles el nombre ya que el código tendrá sentido. Si el código yoEs enorme, será muy difícil entenderlo.

- el hutt

27/03/2021 a las 15:49

El código no es enorme en absoluto, es un paquete de mods y quiero trasladarlos a diferentes versiones. El mod tiene solo un paquete y 15 clases.

FlujoRR

27/03/2021 a las 15:52

Agregue esto a la respuesta

usuario15402945

27/03/2021 a las 20:45

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare