【问题标题】:how to get the ascii value for integer greater than 127 (extended Ascii character) in objective-c如何在objective-c中获取大于127(扩展Ascii字符)的整数的ascii值
【发布时间】:2014-02-07 01:06:22
【问题描述】:

我需要将大于 127 的整数的 Ascii 值发送到外部设备。我正在使用[NSString stringWithFormat:@"c", myInteger]。但是,这可能会返回一个空字符串,因为 myInteger 大于 127,例如 155。

如何获得正确的扩展 Ascii 值?

【问题讨论】:

  • 没有“大于 127 的整数的 ASCII 值”之类的东西。但请注意,@"c" 除了打印字母“c”之外不会做任何事情。
  • 没有“扩展ASCII”之类的东西,你是指ISO8991-1还是UTF8?
  • Linuxios。我不确定我的意思。在我的世界里,有一个所谓的扩展 Ascii 字符集,其整数值介于 127 和 255 之间,例如 155 = ø。有什么帮助吗?

标签: ios objective-c ascii stringwithformat


【解决方案1】:

您需要使用%C,而不是%c。然后它将适用于任何 16 位值。

【讨论】:

  • 其实他用的不是%c,而是c
  • 我认为这是一个错字。
  • 对不起 - 一个错字。我用过 %c 也试过用 %C 但似乎没有区别。我无法直接使用 %C。 Xcode 要求我使用这个 [NSString stringWithFormat:@"c", (unitype) myInteger]。
【解决方案2】:

我不知道这是否相关,但我一直在玩我正在制作的基于 c++ 文本的游戏的角色。请记住,我正在开发 CMD。

我用它来获取所有可能的字符,以了解我必须处理的内容:

for (int i = 0; i < 256;i++) {
        cout << i << " " << char(i) << endl;
    }

你可以使用 int(character) 做相反的事情。

就像“user1152964”说的,这一定是Extended ASCII,因为在255之后,所有的字符都是重复的。

在我看来,最好的选择是将要发送的字符的整数值发送到外部设备,然后确保字符以正确的格式显示。

这可能会对您的目标 C 有所帮助: Objective-C int to char

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-20
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    相关资源
    最近更新 更多