Tratando con unicode , ¿cómo deshacerse de él? Android / java

Java almacena el texto internamente como Unicode sin codificar. Solía ​​ser de 16 bits, ahora supongo que es 32 debido al hecho de que está obteniendo cuatro caracteres de salida en su terminal por cada carácter unicode que está tratando de generar.

Lo que probablemente quiera hacer es usar algo como string.getBytes ("ASCII") para convertir su cadena unicode en ascii de un solo byte. Si su emulador de terminal maneja otros juegos de caracteres (como Latin-1), úselo en lugar de "ASCII".

Luego, transmita los bytes a su emulador de terminal en lugar de la cadena.

Notas: No estoy seguro de que "ASCII" sea el nombre exacto del conjunto de caracteres; querrás investigar eso tú mismo. Además, no sé qué hará getBytes () con los caracteres unicode que no se pueden traducir a ascii, por lo que también querrá investigar eso.

ETA: Tengo problemas para seguir la lógica de su código de los desechos que publicó. ¿Quién llama a write (), de dónde provienen los datos y a dónde van? Las mismas preguntas se aplican a sendOverSerial () y onDataReceived ().

En cualquier caso, estoy casi seguro de que en algún lugar , los datos Unicode sin procesar de 32 bits se convirtieron a bytes sin codificarse. A partir de ese momento, enviarlo como está o volver a codificarlo como UTF-8 produciría el efecto que está viendo. No veo cómo pudo haber sucedido esto en ninguno de los códigos que publicó, así que supongo que sucedió en otro lugar antes de que se llame a cualquiera de las funciones que nos mostró.

Respuesta 1

He resuelto este problema editando la biblioteca que estoy usando. Estaban usando un método que convertía un byte en un int, aceptaba un codePoint y lo convertía. Entonces, por cada pulsación de tecla se utilizan 4 bytes. Cambié esto para que se use un byte en lugar de un int. No más bytes adicionales. Nada tiene que ver con el formato de codificación.

Respuesta: 2

Estoy usando Netbeans 7. Cuando creo un nuevo módulo Maven EJB, me dio el error cd F: \ NetBeansProjects; "JAVA_HOME = C: \\ Archivos de programa \\ Java \\ j2sdk1.4.2_19" "\" C: \\ Archivos de programa \\ NetBeans 7.0 \\ java \\ ...

He hecho una pregunta similar para el método string.GetHashCode () en .NET. Tomado de entonces, he aprendido que no podemos confiar en la implementación implícita del código hash para los tipos incorporados, si nosotros ...

queridos amigos, uso openCV en Java. Todo está bien, pero la cosa es que estoy limitado con la API, no puedo crear archivos C (no soy muy hábil en C / C ++ y no los usé durante mucho tiempo) durante ...

Sé que lo primero que estás pensando es "búscalo dentro de la documentación", el problema es que la documentación no lo tiene claro. Utilizo la biblioteca para obtener FFT y comencé desde este corto ...