2011-05-11 10 views
9

en Taiwán tenemos una codificación de caracteres llamada "Unicode At One (UAO)", que es una extensión de BIG-5 pero no es compatible con Java y Android.
La página de códigos está en http://moztw.org/docs/big5/table/uao241-b2u.txt¿Cómo se define un nuevo Charset en Java/Android?

Mi pregunta es, ¿cómo puedo construir un objeto String con datos de la matriz de bytes mediante este juego de caracteres?
Supongo que ampliaré la clase String y haré algo al respecto, pero no tengo idea de cómo crear un nuevo Charset.

+0

¿Por qué UTF-8 no funciona para usted? –

+0

¿Puede proporcionar alguna otra fuente de referencia en esta codificación? Parece que no puedo encontrar nada relevante bajo el nombre "Terminación Unicode". –

+0

Lukas: Porque los textos no están codificados por UTF-8, y quiero convertirlos en UTF-8. –

Respuesta

10

Puede agregar su propia implementación Charset escribiendo un CharsetProvider y registrándolo a través del mecanismo de descubrimiento de servicio.

Usted necesita extender Charset e implementa sus newDecoder y newEncoder métodos para devolver una adecuada CharsetDecoder y CharsetEncoder respectivamente.

+1

Hola, lo siento, pero ¿puedes proporcionar algún enlace de muestras reales? No puedo encontrar los pasos para los implementos, los documentos de la API tienen pasos pero no una descripción de cómo hacerlos. –

+0

@Romulus: la implementación de un juego de caracteres personalizado es una tarea bastante rara, por lo que no creo que haya ningún ejemplo o tutorial listo para ello. Es posible que desee echar un vistazo al código fuente y verificar los existentes. –

+2

http://jutf7.sourceforge.net/ se puede utilizar como ejemplo. – guai