c# - C# 等效于 python3 int.to_bytes
问题描述
我不想重新发明轮子,那么int.to_bytes(int,"big")
在 C# 中有没有来自 python3 的等价物?
我猜这就是我会手动做的事情。
private byte[] IntToBytesBig(int number, int len)
{
byte[] bytes = BitConverter.GetBytes(number);
if (BitConverter.IsLittleEndian) //if little endian, reverse to get big endian
Array.Reverse(bytes);
if (bytes.Length == len) return bytes; //if already desired length, return.
if (bytes.Length > len) //if length is too long, remove some elements
{
var bytesTmp = Array.Empty<byte>();
bytes.CopyTo(bytesTmp, bytes.Length - len);
bytes = bytesTmp;
}
else //if length is too small, add 0's in byte
{
Array.Reverse(bytes);
for (var i = bytes.Length; i < len; i++)
bytes[i] =(byte) 0;
Array.Reverse(bytes);
}
return bytes;
}
解决方案
推荐阅读
- python - 如何根据Python中的字符位置拆分数据框列?
- php - Opencart 3.0.3.2 - 在 Ajax + Twig 上抓取多维数组
- php - 生成任意移动的 URL 字符时
- django - 使用 Django 进行数据表服务器端渲染需要很长时间才能响应
- javascript - 如何在 React Native 中动态包含模块
- java - 字符串比较应该不相等
- java - 你怎么知道一个webview有一些JS功能?
- c# - 在 C# 中的 foreach 语句中保持流?
- python - 如何使用 Flask CORS 将域列入白名单
- javascript - 如何禁用 Scorm 文件中嵌入视频的右键单击?