c# - 如何将 4 字节字符串编码为单个 32 位整数?

标签 c# python algorithm powershell

首先,免责声明。我不是 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/

相关文章:

c++ - 多向哈希表

c# - Windows 8 应用程序和访问文件系统

python - django - 导入错误

python - 将 PyQt5 按钮连接到函数时如何使用 lambda

python - 如何在 Python 中正确实现方法级联 - 链接?

c# - 夜间检查功能 c#

在基类中使用 TestInitialize/TestCleanup 进行 C# 单元测试

c# - 如何使用RouteUICommand?

c# - .Net Core 中间件——从请求中获取表单数据

algorithm - 评估基于项目的协同过滤对二元(是/否)产品推荐的性能