【问题标题】:Decode large text base64 C#解码大文本 base64 C#
【发布时间】:2019-02-18 20:52:33
【问题描述】:

我正在尝试解码大约 3024 个字符的字符串(在 sql server 上键入文本)。我正在使用此代码,但它返回一个截断的解码文件(不完整):

var decodeString = System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(str));

我是不是忘记了什么?我不明白为什么我会得到一个截断的字符串。

【问题讨论】:

  • 也许原始编码不是 UTF-8?你能展示一下字符串是如何编码的吗?
  • 您存储 UTF-8 字符串 Base64 编码是否有原因?只要你在SQL Server中使用ntext就可以了……
  • 检查原始字节并确保其中没有零。零被解释为空字符,表示字符串的结尾。这会导致大多数文本查看器/编辑器在该点停止渲染。

标签: c# .net vb.net


【解决方案1】:

试试这个:

编码

public static string Base64Encode(string plainText) {
  var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
  return System.Convert.ToBase64String(plainTextBytes);
}

解码

public static string Base64Decode(string base64EncodedData) {
  var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
  return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
}

【讨论】:

    猜你喜欢
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    相关资源
    最近更新 更多