gpt4 book ai didi

.NET:为什么 Encoding.GetEncodings() 中没有 base 64?

转载 作者:行者123 更新时间:2023-12-03 18:17:07 25 4
gpt4 key购买 nike

我有一个函数可以使用指定的编码将字节数组解码为字符串。

例子:

Function Decode(ByVal bytes() As Byte, ByVal codePage As String) As String
Dim enc As Text.Encoding = Text.Encoding.GetEncoding(codePage)
Return enc.GetString(bytes)
End Function

如果我想在其中包含 base64,我必须执行以下操作:
Function Decode(ByVal bytes() As Byte, ByVal codePage As String) As String
If String.Compare(codePage, "base64", True) = 0 Then
Return Convert.ToBase64String(bytes)
Else
Dim enc As Text.Encoding = Text.Encoding.GetEncoding(codePage)
Return enc.GetString(bytes)
End If
End Function

为什么 base64 在 .NET 中被特殊对待?

最佳答案

他们真的不是一回事:

  • 编码是以二进制形式表示任意文本的方式。
  • Base64 是一种以文本形式表示任意二进制数据的方式。

  • 您通常不会在相同的情况下使用它们。当“真实”数据是文本时,您将使用编码,而当“真实”数据是二进制时,您将使用 base64。

    当然你可以实现一个编码来做base64,但我个人认为这不是一个好主意。

    关于.NET:为什么 Encoding.GetEncodings() 中没有 base 64?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/735859/

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