Java Charset.forName ("ASCII") ou Charset.forName ("US-ASCII")
J'allais à travers un code et est venu à travers la ligne suivante.
Charset.forName("ASCII")
Mais quand j'ai regardé le java la documentation il a seulement
US-ASCII ISO-8859-1 UTF-8 UTF-16BE UTF-16LE UTF-16
Mais le code fonctionne. Sont "ASCII" et "US-ASCII" sont synonymes dans ce contexte ? ou est le code en prenant certains valeur par défaut depuis la 'ASCII' n'est pas reconnu ?
Et combien d'octets 'ASCII' dans ce scénario représente un personnage ?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
La documentation points:
En outre, la javadoc de
Charset.forName(String charsetName)
vous dit:Avec ce code, vous pouvez en savoir plus sur les jeux de caractères:
Exécution du fragment de code suivant, imprime tous charactersets qui sont disponibles:
Je ne vois pas en ASCII dans la liste. En regardant le code pour
defaultCharset()
dans le jeu de caractères de la classe montre que si lafile.encoding
est pas valide, la valeur par défaut est 'utf-8'.Exécution du fragment de code suivant, imprime 'UTF-8', comme le jeu de caractères par défaut.
ASCII est un alias pour l'US-ASCII. Il utilise 7 bits octets pour chaque caractère.
Remarque: si vous voulez de la compacité et de simplicité, je vous conseille d'utiliser ISO-8859-1. Cela utilise aussi 1 octet par caractère, mais a une plus large gamme. Il prend en charge
\u0000
àu00FF
tandis que US-ASCII prend en charge\u0000
à\u007F