C#中是否存在可以将Quoted-Printable编码转换为String
?的现有类?单击上面的链接以获取有关编码的更多信息.
为方便起见,以上链接引用了以下内容.
任何8位字节的值可以与3个字符,被编码的"="随后两个十六进制数字(0-9或A-F)表示的字节的数值.例如,US-ASCII换页符(十进制值12)可以用"= 0C"表示,US-ASCII等号(十进制值61)用"= 3D"表示.除了可打印的ASCII字符或行尾字符之外的所有字符都必须以这种方式编码.
除"="(十进制61)外,所有可打印的ASCII字符(33到126之间的十进制值)可以由它们自己表示.
ASCII选项卡和空格字符,十进制值9和32,可以由它们自己表示,除非这些字符出现在一行的末尾.如果其中一个字符出现在一行的末尾,则必须将其编码为"= 09"(制表符)或"= 20"(空格).
如果正在编码的数据包含有意义的换行符,则必须将它们编码为ASCII CR LF序列,而不是其原始字节值.相反,如果字节值13和10具有除行尾之外的含义,则它们必须被编码为= 0D和= 0A.
引用可打印编码数据的行不得超过76个字符.为了在不改变编码文本的情况下满足该要求,可以根据需要添加软换行符.软换行符在编码行的末尾包含"=",并且不会在解码的文本中导致换行符.
我试图找出一种方法来解析一个更大的字符串的base64字符串.
我有字符串"Hello <base64 content> World"
,我希望能够解析base64内容并将其转换回字符串."Hello Awesome World"
C#中的答案首选.
编辑:更新了一个更实际的例子.
--abcdef
\n
Content-Type: Text/Plain;
Content-Transfer-Encoding: base64
\n
<base64 content>
\n
--abcdef--
Run Code Online (Sandbox Code Playgroud)
这取自1个样本.问题是内容......从一个记录到下一个记录变化很大.