Newsgroup: it.comp.java
Titolo: Codifica dei caratteri

Ciao a tutti, vi seguo da un po' e mi avete insegnato molto!
Dopo questo tentativo di adulazione vi sottopongo il mio problema.
Sto facendo una servlet che comunica dati ad un server che parla in un
formato diverso da ASCII, gli devo passare un'array di byte avendo una
stringa in ASCII.
Mi sono messo a cercare et voila' "ecco la funzione che fa per me":
getBytes
public byte[] getBytes(String enc)
                throws UnsupportedEncodingException
Convert this String into bytes according to the specified character
encoding, storing the result into a new byte array.
Parameters:
enc - A character-encoding name
Returns:
The resultant byte array
Throws:
UnsupportedEncodingException - If the named encoding is not supported
Since:
JDK1.1
SBAGLIATO!!!!!
Questa funzione fa esattamente l'opposto!!!!
Mi domando, esiste la funzione che serve a me?
Grazie in anticipo per l'aiuto!!!

 writes:
G> Ciao a tutti, vi seguo da un po' e mi avete insegnato molto!
G> Dopo questo tentativo di adulazione vi sottopongo il mio problema.
G> Sto facendo una servlet che comunica dati ad un server che parla in un
G> formato diverso da ASCII, gli devo passare un'array di byte avendo una
G> stringa in ASCII.
Qui sento puzza di EBCDIC...
G> Mi sono messo a cercare et voila' "ecco la funzione che fa per me":
G> SBAGLIATO!!!!!
G> Questa funzione fa esattamente l'opposto!!!!
???
Non č che cerchi di passare come parametro la stringa da convertire ?
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )


No, faccio una cosa del tipo:
byte a[] = null;
b = "pippo";
a = b.getBytes("Cp1097");
ma a e' ancora in ASCII!!!!
Cp1097 l'ho trovato su un manuale di java era in una tabella intitolata
"Codifica dei caratteri"!
Cosa sbaglio?

 writes:
G> Hai sentito la puzza giusta!!!
G> In pratica devo convertire una stringa da ASCII a EBCDIC
C'e` un package chiamato "cobolConversion" (sotto GPL) nominato nella
Jurassic FAQ:
 
http://jymengant.ifrance.com/jymengant/jurassicFAQ.html
Forse fa al caso tuo (cfr. le domande verso la fine della FAQ).
Saluti,
Luca Polo.
-- 
 /Luca Polo : 
Luca...@gest.unipd.it
 || Dipartimento di Tecnica e       \
| System & network administrator      || Gestione dei Sistemi Industriali |
 \
http://www.gest.unipd.it/~jake
      || Universita` di Padova -- Italy  /

> 
G> No, faccio una cosa del tipo:
G> byte a[] = null;
G> b = "pippo";
G> a = b.getBytes("Cp1097");
Ci sei andato vicino.
La  documentazione HTML  della classe  String, rilasciata  col JDK1.3,
voce getBytes(String enc) ha  un link "character encodings" (che punta
all'interno della documentazione di java.lang" dove si legge:
"Encoding  names  generally   follow  the  conventions  documented  in
RFC2278: <IANA Charset Registration Procedures>. If an encoding listed
in the  <IANA Charset Registry>  is supported by an  implementation of
the Java platform then one of its names must be the name listed in the
registry. Many encodings are given more than one name in the registry,
in  which   case  the  registry   identifies  one  of  the   names  as
MIME-preferred. An  implementation of  the Java platform  must support
the MIME-preferred registry name for  a supported encoding if there is
one;  for  convenience  it  may additionally  support  other  registry
names. The IANA  MIME-preferred name of an encoding,  if there is one,
is  often, but  not necessarily,  its canonical  name.  Following IANA
convention, the mapping  from IANA registry names to  encodings is not
case-sensitive."
Le voci tra <> sono a loro volta link :
il primo a 
<a href="
http://ietf.org/rfc/rfc2278.txt
"> 
il secondo a 
<a href="
ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets
">
In  questo,  cercando I(t's)  B(etter)  M(anual)  trovi  i nomi  delle
codifiche tra  le quali si  annida quella che  cerchi. Non mi  pare di
aver trovato cp1097 come alias di uno dei nomi.
E poi si deve sperare che la codifica sia supportata. EBDCIC non è tra
i supportati.
Se non è supportato fidati del fatto che EBDCIC è a 8 bit (con buchi)
come ISO-8859.1 e, usando le tabelle dei caratteri dei due codici, ti
fai una banale funzione di trasformazione (pallosa anche se banale).
