Nationale codepage ASCII udvidelser (8-bit) skulle være understøttet af
"java.io" samt "java.lang" pakkerne inden i "charsets.jar".
Pudsigt nok, så findes der ingen support for disse codepages i java's
national I/O pakke "java.nio" som ellers indkapsler den meget handy
klasse "Charset". Dvs. man kan ikke teste om ens system understøtter
f.eks. den gamle danske codepage 865:
Charset.isSupported("Cp865"); // false.
Ifølge
http://www.rgagnon.com/javadetails/encoding.html, er der support
for en hel suite af codepages incl. cp865 i "java.io" API'et og her kan
man sagtens indlæse en gammel Dos fil med codepage 865:
....new InputStreamReader(BufferedInputStream(new
FileInputStream("a.txt")), "Cp865");
Det virker frustrerende og rodet, at karaktersæt ikke alle er indkapslet
i et og samme objekt (Charset). Betyder dette, at der er ingen måde at
teste om et karaktersæt er understøttet, bortset fra en grim måde at
misbruge en InputStream til formålet?
Hvordan i alverden kan man i sin applikation, indkapsle support for
samtlige karaktersæt, hvis kun nogle af sidde er indeholdt i Charset
instanser (med deres streng identifier aliaser) og resten er gemt væk
som streng identifiers et eller andet sted i "java.io" pakken?
På forhånd tak,
Casper