在台湾,我们有一个名为“Unicode At One(UAO)”的字符编码,它是BIG-5的扩展,但Java和Android不支持。 代码页位于http://moztw.org/docs/big5/table/uao241-b2u.txt
我的问题是,如何使用此Charset构建具有字节数组数据的String对象? 我想我会扩展String类并在其中做一些事情,但我不知道如何创建一个新的Charset。
答案 0 :(得分:11)
您可以通过编写Charset
并通过服务发现机制注册来添加自己的CharsetProvider
实现。
您需要扩展Charset
并实施其newDecoder
和newEncoder
方法,以分别返回适当的CharsetDecoder
和CharsetEncoder
。
答案 1 :(得分:0)
我想在@Joachim 的回答中添加更多内容。
自定义字符集的示例包含在 Ron Hitchens 的 Java NIO 一书中。您可以从 sample of Charset and CharsetProvider 下载 the support site。请注意,您必须制作一个包含附加 CharsetProvider
的 FQCN 的文件 META-INF/services/java.nio.charset.spi.CharsetProvider,并将其放入您将制作的 jar
中。