《c#慢跑》base64篇

发布时间 2023-04-20 10:18:25作者: Fusio

不是有效的Base-64字符串

输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符
原文链接:https://blog.csdn.net/cmhdl521/article/details/88745855

C# 做上传文件的时候,需要替换掉这些字符:

data:image/jpeg;base64
data:image/png;base64
data:image/gif;base64

不然会报错:输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符

字符串太大截断尾部

关于CString初始化时提示字符串太大的解决

原文链接:https://blog.csdn.net/winnyrain/article/details/70312907

问题代码:

CString str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUV”;

反正很长,超过2048字节的时候,编译器会提示:

error C2026: 字符串太大,已截断尾部字符
这种情况其实并不是CString引起的,而是因为编译器在读取一行代码的时候,限制了超长代码行。

解决方案:

将字符串换行书写:

CString str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

类似这样即可。