【发布时间】:2021-10-24 12:23:50
【问题描述】:
我正在尝试使用 java 解析 US7ASCII 文件,使用以下代码:
FileInputStream fileInputStream = new FileInputStream(file);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, charSetName);
在第 2 行,第二个参数是我需要传递字符集名称的字符集名称。
以下链接提供了 Java 支持的字符集: https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html
在那里我找不到任何关于 US7ASCII 的条目。 有人可以帮我确定我应该为 US7ASCII 编码文件传递什么字符集名称。
【问题讨论】:
-
你试过
US-ASCII吗? -
实际上我认为即使是 UTF-8 也适用于
-
US7ASCII是 Oracle 所称的 ASCII 字符集。据我所知,设置实际上并不能保证所有数据都是ASCII。换句话说:在某些情况下,它会接受/存储/返回非 ASCII 字符,所以如果你不走运,你得到的 data 实际上可能不是纯 ASCII 数据。如果是这种情况,您将很难解释它,除非您确切知道编码的真正意图(并且它在您的数据库中是一致的,这绝不是保证)。
标签: java oracle character-encoding ascii character-set