gpt4 book ai didi

java - 如果我的 JRE 不支持字符编码怎么办?

转载 作者:搜寻专家 更新时间:2023-10-31 20:04:01 24 4
gpt4 key购买 nike

如果使用我的 JRE 不支持的编码生成文件怎么办?有没有办法扩展/自定义我的 JRE 可以处理的内容?

这可能是一个糟糕/不相关的示例(我只是第一次复习字符集/编码),但我相信 Linux JRE 不处理 CP-1252(a Windows 编码)。如果是这种情况,那么我如何让 Java 应用程序在 Linux 机器上运行以读取 CP-1252 编码的文件?

即使 Linux JRE 发行版确实 支持 CP-1252(这是一个可怕的例子),但我确实知道它不支持某些编码。无论这些编码是什么,是否有任何方法可以扩展其标准 Charactset,如果可以,如何扩展?

最佳答案

Java 类库具有添加新字符集支持的机制;查看 CharsetProvider 的 javadocs .

基本思想是编写一个实现 CharsetProvider API 的类。然后在您的 JAR 文件中添加一个名为“/META-INF/services/java.nio.charset.spi.CharsetProvider”的文件,该文件以规定的格式列出您的字符集名称。

(我还遇到了这个错误报告 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4619777 如果您尝试在受信任的小程序中添加自己的字符集,它可能会影响您...)


Do you know of any "Charset Extension libraries" out there that already do this (and provide lots of non-standard charsets)?

我能找到的唯一例子是 JCharset而且它只增加了 8 个额外的字符集。

如果您(或其他任何人)需要一个未包含的字符集,我建议您下载 JCharset,实现新的字符集,然后将更改作为补丁发布给作者。

关于java - 如果我的 JRE 不支持字符编码怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15100511/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com