将字符串数据转换为二进制流
Convert String data into Binary stream
我有一个简单的 Ada 应用程序,用于通过套接字发送和接收数据。我现在需要修改它以使用从文件读取的字符串创建 packet/stream。字符串是消息体的二进制表示。
所以字符串 1111000011110000 应该作为 2 个字节 F0 F0 发送。数据大小已知且固定。
我努力的地方是以正确的方式解析和转换字符串,每 8 个字符是 1 个字符的二进制表示。
在 Ada 中执行此操作的正确方法是什么,是解析字符串还是以不同的格式从文件中读取它(目前使用 Get_Line 来读取字符串)?
您可以使用 Ada.Text_IO.Integer_IO
的适当实例化进行重新映射。
您必须将 "2#"
和 "#"
中的八个 0 和 1 括起来,以表明该数字以 2 为基数,并删除表明输出以 16 为基数的信息。
我有一个简单的 Ada 应用程序,用于通过套接字发送和接收数据。我现在需要修改它以使用从文件读取的字符串创建 packet/stream。字符串是消息体的二进制表示。
所以字符串 1111000011110000 应该作为 2 个字节 F0 F0 发送。数据大小已知且固定。
我努力的地方是以正确的方式解析和转换字符串,每 8 个字符是 1 个字符的二进制表示。
在 Ada 中执行此操作的正确方法是什么,是解析字符串还是以不同的格式从文件中读取它(目前使用 Get_Line 来读取字符串)?
您可以使用 Ada.Text_IO.Integer_IO
的适当实例化进行重新映射。
您必须将 "2#"
和 "#"
中的八个 0 和 1 括起来,以表明该数字以 2 为基数,并删除表明输出以 16 为基数的信息。