好的,我已经搜索过这个,但没有找到适合我的问题的解决方案。所以在这里,我正在做一个 Java 应用程序,它连接到另一个用 Visual Basic 6 制作的应用程序使用的 SQL SERVER 数据库。
VB6 应用程序有一个“加密”字符串的例程,生成的字符串是从 0 到 255 的 ascii 代码字符数组,并将其作为字符串存储在数据库中的 CHAR(20) 列中。
这种字符串的例子是
Xj‚[m…^˜
但是,当我尝试在 Java 中使用该字符串时,我希望第三个字符给我一个 130 的值,因为它是 ASCII 值,但以下代码输出 8218
String test = rs.getString("COLUMN")
System.out.println("ASCII VALUE: "+(int)test.charAt(3))
输出
ASCII VALUE: 8218
现在,我认为这是一个编码问题,但我尝试了不同的编码(Cp1252、ISO-8859-1、UTF-8)但仍然没有运气。
谁能指出我正确的方向?
编辑:
String test = new String(rs.getBytes("COLUMN"), "ISO-8859-1")
为那个特定的例子工作,但是当我尝试另一个例子时,它失败了。
现在,我假设我发现编码是相似的或者是 ISO-8859-1,如果是这种编码,那么接收字符串的正确方法是什么?