Lua,Ascii字符串来自二进制值

 手机用户2502870941 发布于 2023-02-08 04:32

我一直在阅读这个页面 (除其他外),但仍然找不到我的答案.

我试图让Lua将8位值(即0到255之间的整数)转换为相应Hex字符的2字节Ascii表示

我知道如何使用的唯一Lua语法就是这个...

 MyString =  string.format("%1x", That_Number  )  

...但是,当数字为0到15时,该语法给了我: 1 2 3 4 5 6 7 8 9 a b c d e f

......虽然这是我真正想要的: 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

我的问题: 是否有一个简单的语法来保证我的"两位数"Ascii表示?

("简单"意味着它已经内置于语法中;不是我必须编写的函数)

ps,如果我能将A, B, C, D, E, F字符作为大写字母,那就太好了.

1 个回答
  • string.format("%02X", 14))

    0用于填充零而不是空格. 2对于两个字符的强制宽度(不是1在您的示例中). X用于大写字母输出而不是小写字母.

    应该指出的是,基本上没有一个答案是Lua特定的,因为那些是printf标准序列和格式选项.

    该Lua的参考手册说:

    格式字符串遵循与printf系列标准C函数相同的规则.唯一的区别是不支持选项/修饰符*,l,L,n,p和h,并且有一个额外的选项q.

    所以我们可以推断出xX格式说明符可以使用通常的宽度和前导零修饰符.

    同样的原则适用于许多Lua库函数.您将经常需要参考Lua参考中提到的相关标准C运行时库函数以获得完整的理解.

    2023-02-08 05:14 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有