gpt4 book ai didi

java String.getBytes 行为

转载 作者:行者123 更新时间:2023-12-01 14:09:29 25 4
gpt4 key购买 nike

假设我从 java.sql.ResultSet.getString(1) 获取一个字符串。我从这个字符串中调用了 String.getBytes()。

现在,无论查询结果集的数据库使用什么字符集,我都会得到相同的结果吗?即,如果我在不同的数据库(使用不同的字符集)上执行该过程,调用 getBytes 后是否会得到相同的结果?

最佳答案

是的。

存储在数据库中的字节将转换为字符串中的 Unicode 字符。

您将字符串 char 转换为您指定(或系统默认)作为字符编码的任何字节。

Database bytes -> String chars -> Your bytes
DB encoding Your encoding

如果数据库中出现问题或 JDBC 无法正确解码数据库中的字节,则字符串将是错误的。例如,如果字节是捷克语的某种 UTF-8 编码,并且使用某种西方编码或 Windows 标准编码对其进行解码,则字符串将是错误的。如果打印字符串,您会发现重音字符看起来像分数或有趣的字符组合。

但是任何进入字符串的内容都将根据您指定的字符集进行编码。

关于java String.getBytes 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18639686/

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