Daugiau
Kaip konvertuoti eilutes į UTF8 baitų masyvus ir iš jų "Java
"Java" programoje turiu eilutę ir noriu ją užkoduoti kaip baitų masyvą (UTF8 ar kita kodavimo forma). Arba turiu baitų masyvą (kokiu nors žinomu kodavimu) ir noriu jį konvertuoti į "Java" eilutę. Kaip atlikti šias konversijas?
224
3
Konvertuokite iš eilutės į baitą[]:
Konvertuoti iš baito[] į eilutę:
Žinoma, turėtumėte naudoti teisingą kodavimo pavadinimą. Mano pavyzdžiuose buvo naudojami US-ASCII ir UTF-8 - du dažniausiai pasitaikantys kodai.
Galite konvertuoti tiesiogiai naudodami String(byte[], String) konstruktorių ir getBytes(String) metodą. "Java" pateikia galimus simbolių rinkinius per Charset klasę. JDK dokumentacijoje pateikiamas palaikomų kodų sąrašas.
90 % atvejų tokie konvertavimai atliekami srautams, todėl naudokite Reader/Writer klases. Negalima inkrementiniu būdu dekoduoti naudojant "String" metodus savavališkiems baitų srautams - paliksite save atvirą klaidoms, susijusioms su daugiabalyčiais simboliais.