gpt4 book ai didi

java - Oracle BLOB(使用 Base 64 编码)到字符串

转载 作者:行者123 更新时间:2023-12-01 13:42:02 26 4
gpt4 key购买 nike

我正在从数据库读取 Oracle BLOB,并希望将其转换为可读字符串。BLOB 是文本编码为二进制的,我很确定它是用 Base64 编码的。

我读取 BLOB 的代码返回一个包含无法识别字符的字符串:

 public String getStringFromBLOB(String sql) {
...
resultSet.next();
BLOB blob = null;
blob = ((OracleResultSet) resultSet).getBLOB(1);

byte[] bdata = blob.getBytes(1, (int) blob.length());
String tmpStr =new String(bdata);
str = new String(tmpStr.getBytes("UTF8"), "EUC_KR");
return str;
}

任何帮助将不胜感激。

最佳答案

这应该可以。

byte[] bdata = blob.getBytes(0, (int) blob.length()); // From 0
String data = new String(bdata, "US-ASCII"); // As it claimed to be Base64
byte[] bytes = DatatypeConverter.parseBase64Binary(data);
return new String(bytes, "EUC_KR"); // The original encoding before Base64

关于java - Oracle BLOB(使用 Base 64 编码)到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20659323/

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