Viac na
Ako konvertovať reťazce do a z polí bytov UTF8 v jazyku Java
V Jave mám reťazec a chcem ho zakódovať ako pole bajtov (v UTF8 alebo inom kódovaní). Prípadne mám pole bajtov (v nejakom známom kódovaní) a chcem ho previesť na reťazec v Jave. Ako môžem tieto konverzie vykonať?
224
3
Prevod z reťazca na bajt[]:
Previesť z byte[] na String:
Samozrejme, mali by ste použiť správne kódovanie názvu. V mojich príkladoch som použil US-ASCII a UTF-8, dve najbežnejšie kódovania.
Konverziu môžete vykonať priamo pomocou konštruktora String(byte[], String) a metódy getBytes(String). Java zobrazuje dostupné znakové sady prostredníctvom triedy Charset. Dokumentácia JDK uvádza zoznam podporovaných kódovaní.
V 90 % prípadov sa takéto konverzie vykonávajú na prúdoch, takže by ste mali použiť triedy Reader/Writer. Metódy String by ste inkrementálne nedekódovali na ľubovoľných bajtových prúdoch - ponechali by ste sa otvorení chybám zahŕňajúcim viacbajtové znaky.