我有一个应用程序可以裁剪图片并将结果作为base64字符串返回给ViewModel。我需要检查大小是否在1 MB以内或超过它。
这是我的解决方案:
byte[] byteArray = Convert.FromBase64String(input);
if (byteArray.Length > Constants.PictureMaximumSize)
{
return false;
}
return true;
其中:Constants.PictureMaximumSize = 1048576;
我的问题:
我想检查它是否高达1 MB - 我应该将byte []长度与1048576或者1000000进行比较吗?
答案 0 :(得分:1)
在通用计算用法中,1,048,576字节被视为兆字节。但是,标准组织IEEE,EU,ISO和NIST仅将1,000,000字节视为兆字节。
所以,你可以选择你想要的。你想遵循国际标准吗?或者您是否希望与现有的几乎所有软件保持一致?我们无法为您选择,这取决于您。我们无法告诉您使用哪一个,您需要检查信息并为您的应用程序及其用户做出正确的选择。
请记住,如果你引用mebibyte,那么你将符合国际标准,并且没有关于mebibyte中有多少字节的歧义,尽管这个术语不太为人所知,可能会让您的用户感到困惑。
Wikipedia has backstory说明为什么在各种情况下这两个数字都被视为兆字节。