首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:字节"239“不是(7位) ASCII字符集的成员。

错误:字节"239“不是(7位) ASCII字符集的成员。
EN

Stack Overflow用户
提问于 2013-11-07 21:20:37
回答 2查看 3.3K关注 0票数 1

我想在netbeans中读取一个xml文件,我使用以下代码:

代码语言:javascript
复制
DocumentBuilderFactory dbf ; DocumentBuilder db; Document doc = null;
  File file = new File(xml_url);
  dbf = DocumentBuilderFactory.newInstance();
  db = dbf.newDocumentBuilder();
  doc = db.parse(file);

然后给出了一个错误:Byte "239" is not a member of the (7-bit) ASCII character set.

xml报头是:

代码语言:javascript
复制
<?xml version="1.0" encoding="us-ascii"?>

我怎么才能解决这个问题?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-07 21:27:20

您的XML文件声称在XML头中是ASCII,但实际上并非如此,因为它显然包含非ASCII字节。

按优先顺序修正:

  1. 您应该找到生成XML文件的任何/任何人,并让它/他们生成一个新的正确的XML文件。
  2. 字节239或0xEF十六进制,实际上是(冗余) 8字节顺序标记 (BOM) 0xEF 0xBB 0xBF的第一个字节。我强烈怀疑有软件错误地将它添加到XML文件的开头。例如,记事本就是如此。 如果是这样的话,删除字节顺序标记,它是文件的前三个字节,就在<?xml之前。如果您的编辑器没有显示它(例如,我认为记事本没有显示,Netbeans也可能有问题。),那么找另一个会显示的。 只要用一个不支持UTF-8BOM的编辑器打开和重新保存文件就足够了。
  3. 另一种解决方法是将<?xml version="1.0" encoding="us-ascii"?>替换为<?xml version="1.0" encoding="UTF-8"?>。这只有在我对BOM的假设是正确的情况下才能起作用。
票数 6
EN

Stack Overflow用户

发布于 2021-10-26 12:38:36

我本可以在克里斯托福的帖子下发表评论,但堆叠式的帖子要求我获得50种声誉,而我却没有。我用的是macOS大苏尔。vi附带不识别字节239,而pico则识别字节239。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19846917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档