Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 防止从base64字符串c中删除新行#_C#_Android_Base64 - Fatal编程技术网

C# 防止从base64字符串c中删除新行#

C# 防止从base64字符串c中删除新行#,c#,android,base64,C#,Android,Base64,我试图用C#模拟androidBase64.encode。但是当我比较结果时,我意识到它们是不同的。Android结果在字符串末尾有一个/n,但我的结果没有: Android Result: "gqo+8pdjV2VGRr2Ap5fzVzZTd2Q\n" C# Result: "gqo+8pdjV2VGRr2Ap5fzVzZTd2Q=" 如何防止从C#中的base64字符串中删除新行 我在C中使用了简单的base64转换,如下所示: Conv

我试图用C#模拟android
Base64.encode
。但是当我比较结果时,我意识到它们是不同的。Android结果在字符串末尾有一个
/n
,但我的结果没有:

Android Result: "gqo+8pdjV2VGRr2Ap5fzVzZTd2Q\n" 
C# Result:      "gqo+8pdjV2VGRr2Ap5fzVzZTd2Q="
如何防止从C#中的base64字符串中删除新行

我在C中使用了简单的base64转换,如下所示:

Convert.ToBase64String(data)
android代码如下:

Base64.encodeToString(data,1)

Android附加
\n
字符,请参阅

您可以使用以下标志删除Android中的linebreakes

Base64.encodeToString(数据,Base64.无换行)
C#使用以下标志对数据进行编码

Convert.tobase64字符串(数据,base64格式选项。插入换行符)

但是,
InsertLineBreaks
标志会在每76个字符后添加
\n
字符,这与您的大小写不一样。

您自己添加新行就可以了吗?我无法想象为什么将二进制数据转换为base64的方法会在输出中附加不相关的字符。。。我的意思是,这不是C#删除任何东西,而是android功能添加它们。我没有看到android中没有标志的过载?我不能把它加在我自己身上。我不知道什么时候应该在字符串末尾添加新行。它并非总是发生。是否要损坏base64字符串?如果希望能够转换回字符串,则不能修改字符串。@Evk“为什么将二进制数据转换为base64的方法会将不相关的字符附加到输出中”:“编码的输出流必须以不超过76个字符的行表示。解码软件必须忽略表1中未找到的所有换行符或其他字符。“-p.24(我强调)-刚刚了解:))thsnks。但是根据文档,在字符串表示中每76个字符后插入换行符。base 64字符串只有28个承租人!!!