2012-10-05 54 views
5

Algunas secuencias de bytes son aparentemente inválidas en las codificaciones Unicode, y sé que algunos lenguajes (Python para uno) arrojan un error cuando eso sucede.Unicode y Javascript: secuencias de bytes no válidas

Mi pregunta es: ¿qué ocurre en Javascript al recibir una secuencia de este tipo durante un XMLHttpRequest o XDomainRequest? ¿La cadena resultante:

  1. ¿Se truncan cuando eso sucede?
  2. ¿Saltar la secuencia incorrecta y comenzar en el siguiente byte (s)?
  3. ¿Continúa la decodificación y solo muestra el carácter replacement de reemplazo cuando se muestra?

Si 3, ¿la función charCodeAt devuelve un código de carácter válido?

Respuesta

4

Pasa el número 3. Muestra el cuando se muestra, y charCodeAt devuelve 0xFFFD, el carácter unicode.

+0

OK, gracias, eso era lo que estaba buscando. Para el registro, simplemente lo confirmé usando [esta página] (http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt) e iterando a través de 'charCodeAt' valores. –

+0

Un gran recurso de prueba: http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt – saml

Cuestiones relacionadas