gpt4 book ai didi

c# - 有没有办法在不知道解码值编码的情况下确定 base64 编码值的长度?

转载 作者:太空宇宙 更新时间:2023-11-03 23:07:35 24 4
gpt4 key购买 nike

我有一个 base 64 编码值,我想在不知道解码值编码的情况下使用此值来了解解码值的长度。

例如,"foo" 的 base 64 编码值为 Zm9v。当我这样解码时:

var bytes = Convert.FromBase64String("Zm9v");

我得到一个包含三个字节的数组。在这种情况下,我可以很容易地将长度确定为 3,但假设我们有 "ü" 作为 base 64 中的 "w7w=" 的值:

// length = 2
var bytes = Convert.FromBase64String("w7w=");

字节数组的长度是2,所以第一个解决方案失败了,我想到的另一种选择是使用UTF8编码从字节中获取字符串,然后获取长度:

var lenght = Encoding.UTF8.GetString(bytes).Lenght;

我认为这会起作用,因为 UTF8 是常用的,但同样我对这个解决方案也不满意。我该怎么办?如果一开始就不知道值的编码,就不可能找到一个通用的解决方案吗?

最佳答案

如果没有编码,则无法从字节数组中知道字符串的长度。 1000 字节的 BLOB 可能是 500 字符的 Unicode 或 1000 字符的 ASCII 字符串。没有编码,您永远不会知道。

关于c# - 有没有办法在不知道解码值编码的情况下确定 base64 编码值的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40655080/

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