gpt4 book ai didi

java - API 抛出 java.io.UnsupportedEncodingException

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

我正在使用专有 API 在 eclipse 中开发 Java 程序,它在运行时抛出以下异常:

java.io.UnsupportedEncodingException: 
at java.lang.StringCoding.encode(StringCoding.java:287)
at java.lang.String.getBytes(String.java:954)...

我的代码:

private static String SERVER = "localhost";
private static int PORT = 80;
private static String DFT="";
private static String USER = "xx";
private static String pwd = "xx";


public static void main(String[] args) {

LLValue entInfo = new LLValue();
LLSession session = new LLSession(SERVER, PORT, DFT, USER, pwd);

try {
LAPI_DOCUMENTS doc = new LAPI_DOCUMENTS(session);
doc.AccessPersonalWS(entInfo);
} catch (Exception e) {
e.printStackTrace();
}
}

session 似乎打开时没有错误,但在 doc.AccessEnterpriseWS(entInfo) 处抛出了编码异常

通过研究这个错误,我尝试使用编译器的 -encoding 选项,更改我的编辑器的编码等。

我的问题是:

  1. 如何找出我尝试使用的 .class 文件的编码?
  2. 我应该将新程序的编码与 API 的编码相匹配吗?
  3. 如果 java 是机器无关的,为什么没有标准编码?

我已阅读 this堆栈跟踪和 this指导已经--

任何建议将不胜感激!

干杯

最佳答案

在调试器中使用 String.getBytes()StringCoding.encode() 上的断点运行它。两者都是 JDK 中的类,因此您可以访问它们并且应该能够看到第三方传入的内容。

character encoding用于指定如何解释原始二进制文件。 CP1252 中英语 Windows 系统上的默认编码。其他语言和系统可能使用不同的默认编码。作为快速测试,您可以尝试指定 UTF-8 以查看问题是否神奇地消失了。

this question 中所述,JVM 使用操作系统的默认编码,尽管您可以覆盖此默认值。

在不了解您尝试使用的第三方 API 的更多信息的情况下,很难说出他们可能使用的是什么编码。不幸的是,从 StringCoding.encode() 的实现来看,似乎有几种不同的方法可以获得 UnsupportedEncodingException。使用调试器逐步完成应该有助于缩小范围。

关于java - API 抛出 java.io.UnsupportedEncodingException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10236640/

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