[String]Comment etendre le mon Code ASCII??
Re Salut :p
Voila j'ai reussi a decoder mon String (qui est une representation hexa) et je voudrai le convertir en Texte. Jusque la tout va bien :) le probleme est que j'ai des caracteres qui ont des valeurs superieure à 128 et du coup à la conversion en ASCII ca me fait n'importe quoi.
Par exemple, j'ai le code 138 ( = 0x8a) et qui normalement correspond en ASCII 'è' et mon programme m'affiche '?' apres analyse du probleme j'ai trouve que mon programme encodait sur 7 bits soit jusqu'a 128 or je possede des valeurs qui vont jusqu'a 256
Donc ma question est la suivante comment faire pour etendre mon code ASCII et pouvoir encoder sur 8bits au lieu de 7??
Voila mon code (on sait jamais :p )
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
public char[] StringToBytes(String string)
{
char [] tab_encode = new char[string.length()/2];
int[] tab_encode_tmp = new int[string.length()/2];
int cpt=0;
for (int i = 0; i < tab_encode.length; i++)
{
tab_encode_tmp[i] = Integer.parseInt(string.substring(cpt,cpt+2),16);
tab_encode[i]=(char)tab_encode_tmp[i];
cpt+=2;
}
return tab_encode; |
J'ai Vraiment besoin de votre aide :help:
Merci de vos reponses
Re: [String]Comment etendre le mon Code ASCII??
Citation:
Envoyé par lanfeustdetroll
Par exemple, j'ai le code 138 ( = 0x8a) et qui normalement correspond en ASCII 'è'
Non. La norme ASCII ne definit les caracteres associes qu'aux valeurs de 0 a 127. Les valeurs de 128 a 255 sont definies par plein d'autres jeu de caracteres differents et incoherents; le lien qui a ete donne n'est qu'une extension parmi des dizaines d'autres.
Mais le code en lui-meme est toujours non-signe.
Comme ca ete deja dit, Java code ses caracteres sur 16 bits, en reprenant les valeurs deja attribuees par Unicode (mais l'Unicode lui-meme n'est pas limite a 16 bits ! erreur trop courante...).
Ton probleme se resume a retrouver quel est le jeu de caracteres que tu as en entreee... Sous windows, ca peut etre du ISO-8859-1, ou -15, voire un codepage IBM-850 ou 1252. Regarde les jeux de caracteres disponibles, et fais les tests...
EDIT: asciitable.com semble down pour le moment, mais c'est le site de reference pour l'ASCII.
EDIT2: le lien donne plus haut contient le OE colles et le symbole euro, ca doit etre iso-8859-15.