¿Es UTF-8 la codificación predeterminada en Java?
En caso negativo, ¿cómo puedo saber qué codificación se utiliza de forma predeterminada?¿Cuál es la codificación predeterminada de la JVM?
Respuesta
Dependerá de la configuración regional. Diferente configuración regional, diferente codificación predeterminada.
El conjunto de caracteres predeterminado de la JVM es el del sistema en el que se está ejecutando. No hay un valor específico para esto y, en general, no debería depender de que la codificación predeterminada tenga un valor particular.
Se puede acceder en tiempo de ejecución a través de Charset.defaultCharset()
, si te sirve de utilidad para usted, aunque en realidad se debe hacer un punto de codificación siempre especificar explícitamente cuando puede hacerlo.
Si tiene razón, me parece un poco extraño http://java.sun.com/javase/technologies/core/basic/intl/faq.jsp#text-representation dice que siempre es UTF-16. –
UTF-16 es cómo se representa el texto internamente en la JVM. La codificación predeterminada determina cómo la JVM interpreta los bytes leídos de los archivos (usando 'FileReader', por ejemplo). – JesperE
Esta respuesta es correcta, pero como referencia, en Linux suele ser "UTF-8", y en Windows suele ser "cp1252". – Jeutnarg
Tenga en cuenta que puede cambiar la codificación predeterminada de la JVM utilizando la propiedad con nombre confuso file.encoding
.
Si su aplicación es particularmente sensible a las codificaciones (quizás mediante el uso de API que implican codificaciones predeterminadas), debe establecer explícitamente esto en el inicio de JVM a un valor constante (conocido).
Tenga en cuenta que 'file.encoding' se debe especificar en el inicio de la JVM (es decir, como el parámetro cmdline -Dfile.encoding o mediante JAVA_TOOLS_OPTIONS); puedes configurarlo en tiempo de ejecución, pero no importará. Ver http://stackoverflow.com/questions/361975/setting-the-default-java-character-encoding – sleske
Hay tres codificaciones "por defecto":
file.encoding:
System.getProperty("file.encoding")
java.nio.Charset:
Charset.defaultCharset()
Y la codificación de la InputStreamReader:
InputStreamReader.getEncoding()
Puede leer más al respecto en this page.
estoy seguro de que esto es JVM implemenation específica, pero yo era capaz de "influencia" mi file.encoding predeterminado de JVM ejecutando:
export LC_ALL=en_US.UTF-8
(ejecutar Java versión 1.7.0_80 en Ubuntu 12.04)
Además, si escribe "locale" desde su consola Unix, debería ver más información allí.
Todo el mérito es de http://www.philvarner.com/2009/10/24/unicode-in-java-default-charset-part-4/
- 1. ¿Cuál es la codificación predeterminada para System.IO.File.ReadAllText
- 2. ¿Cuál es la codificación predeterminada para las cadenas C?
- 3. ¿Cuál es la codificación predeterminada para una cadena en VB.NET?
- 4. ¿Cuál es la JVM equivalente en C#?
- 5. ¿Cuál es la altura predeterminada de UITableViewCell?
- 6. ¿Cuál es la diferencia entre JVM Spec, implementación JVM, JVM en tiempo de ejecución
- 7. ¿Cuál es la codificación de caracteres de String en Java?
- 8. ¿Cuál es la ventaja de utilizar la codificación Base64?
- 9. ¿Cuál es la causa del código de salida JVM 1073807364?
- 10. Codificación de caracteres predeterminada de Android
- 11. dependencia Encontrado en codificación predeterminada
- 12. Codificación de caracteres Javascript predeterminada?
- 13. ¿Cuál es la JVM en tiempo real (RTSJ) más preferida?
- 14. ¿Cuál es el ceceo con mayor rendimiento en la JVM
- 15. ¿Cuál es la diferencia entre DVM y JVM?
- 16. ¿Cuál es la diferencia entre JRE y JVM?
- 17. ¿Cuál es la ruta predeterminada de debug.keystore en Mac?
- 18. PHP: ¿Cuál es la duración predeterminada de una sesión
- 19. ¿Cuál es la configuración predeterminada de MongoDB en OSX?
- 20. ¿Cuál es la inicialización predeterminada de una matriz en Java?
- 21. ¿Cuál es la ubicación predeterminada para los registros de MSBuild?
- 22. ¿cómo configuro la configuración regional predeterminada para mi JVM?
- 23. ¿Cómo establecer la codificación predeterminada del sitio web de IIS?
- 24. cambie la codificación predeterminada para el bloc de notas ++
- 25. ¿Cuál es el verdadero propósito de la codificación Base64?
- 26. ¿Cuál es la mejor práctica de codificación para las condiciones?
- 27. ¿Configurando la codificación predeterminada de PHP a utf-8?
- 28. ¿Por qué esta opción de JVM de Hotspot no es la predeterminada? -XX: + PrintConcurrentLocks
- 29. Establezca la codificación predeterminada de Qt en UTF-8
- 30. ¿Cuál es la serialización predeterminada utilizada por ASP.net HttpRuntime.Cache
Así que depende de la codificación del sistema operativo anfitrión tiene? –