Objective-C 十进制到 16 进制十六进制转换
有没有人有一个代码片段或一个类,需要很长的时间并将其转换为 16 字节的十六进制字符串?
我正在寻找像这样的数据
long long decimalRepresentation = 1719886131591410351;
并将其转换成这样
//Base 16 Hex Output: 17DE435307A07300
%x 运算符不想为我工作
NSLog(@"Hex: %x",decimalRepresentation);
//console : "Hex: 7a072af"
正如你所看到的,这甚至不是很接近。非常感谢任何帮助!
Does anyone have a code snippet or a class that will take a long long and turn it into a 16 byte Hex string?
I'm looking to turn data like this
long long decimalRepresentation = 1719886131591410351;
and turn it into this
//Base 16 Hex Output: 17DE435307A07300
The %x operator doesn't want to work for me
NSLog(@"Hex: %x",decimalRepresentation);
//console : "Hex: 7a072af"
As you can see that's not even close. Any help is truly appreciated!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
%x
以十六进制表示形式打印无符号整数,并且sizeof(long long) != sizeof(unsigned)
。请参阅例如 64 位转换指南中的“数据类型大小和对齐方式”。使用
ll
说明符(即两个小写的 L)来获取所需的输出:%x
prints an unsigned integer in hexadecimal representation andsizeof(long long) != sizeof(unsigned)
. See e.g. "Data Type Size and Alignment" in the 64bit transitioning guide.Use the
ll
specifier (thats two lower-case L) to get the desired output: