gpt4 book ai didi

java - 无法从 SQL Server 正确获取由 ASCII 值组成的值

转载 作者:行者123 更新时间:2023-12-01 04:16:27 26 4
gpt4 key购买 nike

好的,我已经搜索过这个,但没有找到适合我的问题的解决方案。因此,我正在编写一个 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,如果是这种编码,接收字符串的正确方法是什么?

最佳答案

我明白了,我确实有正确的编码,只是转换方式错误

我试图像这样得到它

String text = new String(rs.getString("COLUMN").getBytes("ISO-8859-1")

当我应该这样做的时候

String text = new String(rs.getBytes("COLUMN"), "ISO-8859-1")

编辑:

适用于该特定示例,但不是解决方案>。<

关于java - 无法从 SQL Server 正确获取由 ASCII 值组成的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19387277/

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