首先,免责声明。我不是 CS 毕业生,也不是数学专业的,所以简单很重要。
我有一个四字符的字符串(例如“isoy”),我需要将其作为单个 32 位整数字段传递。当然在另一端,我需要将它解码回一个字符串。该字符串将仅包含 A-Z,如果有帮助,大小写并不重要。
有趣的是,我在发送端使用 PowerShell,在接收端使用 Linux。我可以在那里使用 Perl 或 Python,但我更喜欢 Python。我实际上不需要每种语言的答案,我最感兴趣的是一个 PowerShell(C# 也不错)的示例,用于两种方式。
最佳答案
到 32 位无符号整数:
uint x = BitConverter.ToUInt32(Encoding.ASCII.GetBytes("isoy"), 0); // 2037347177
到字符串:
string s = Encoding.ASCII.GetString(BitConverter.GetBytes(x)); // "isoy"
BitConverter使用机器的 native 字节顺序。
关于c# - 如何将 4 字节字符串编码为单个 32 位整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1780922/