【问题标题】:Conversion between NSString and uint8_t [] arrayNSString 和 uint8_t [] 数组之间的转换
【发布时间】:2011-02-05 11:41:20
【问题描述】:

我有一个这样的 NSString:

NSString *myStr=@"7JXAX";

ASCII 十进制值等于 {7,74,88,65,88}。

所以,我想做的是将此 NSString 转换为 uint8_t 数组值,例如:

uint8_t someInt[myStr length]={7,74,88,65,88}; 

所以问题是,我可以通过哪种方式将字符串转换为 unit8_t 数组?

提前致谢。

【问题讨论】:

  • 55 是 7 的十六进制值,7 是 7 的十进制值。
  • 所以您想将 字母 转换为 ASCII 码,但将 数字 转换为等效的十进制?这是一个稍微复杂的过程。如果这是你想要的,那么按照托比的回答,然后使用一个 for 循环,它为数组中的每个元素减去 '0',即 >= '0' 和
  • 没错,我正在使用微控制器,如果我发送十进制值或十六进制值是相同的。

标签: iphone objective-c c arrays nsstring


【解决方案1】:

[myStr UTF8String] 会为你做这项工作吗?

即:

uint8_t *someInt = (uint8_t *)[myStr UTF8String];

【讨论】:

  • 我认为这会返回一个指向 uint8_t 的指针?我需要它返回一个 uint8_t 数组,然后我可以访问 someInt[index]。
  • 这正是 Toby 的代码所做的。运行他的示例代码后,您可以使用 someInt[index]。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 2015-05-25
  • 2011-06-25
  • 2019-10-14
  • 2022-11-12
相关资源
最近更新 更多