【问题标题】:Get the byte value of a string to replace it in xcode [closed]获取字符串的字节值以在xcode中替换它[关闭]
【发布时间】:2013-05-29 01:40:40
【问题描述】:

我希望能够获取一个字符串(例如字母@“A”),并且我想获取字节值(01000001)并将其更改为另一个字节值,例如(01000010)= B。然后再次将其转换为字符串并将字母A替换为字母B,在objective-c(xcode)中

我清楚了吗? (也许不是...)感谢您的帮助。

文森特

【问题讨论】:

  • charbyte 无法区分,那么您的目标是什么?
  • 我的目标是获取像字母@“A”这样的字符串的字节值(例如:00100101)并能够更改这个字节值(UFC-8格式)

标签: iphone ios objective-c xcode byte


【解决方案1】:

您可以使用characterAtIndex 将字符从 NSString 中取出。 (它会返回一个unichar。)不过,走另一条路有点困难。

最好使用getCharacters:range: 获取字符串的全部内容,然后使用initWithCharacters:length: 重构NSString。

【讨论】:

    【解决方案2】:

    @"foo" 实际上是一个 NSString,看看这里的类文档:

    https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html

    字符串是不可变的,因此您需要使用 getCString 之类的东西将它们复制到 char * 缓冲区,更改它们,然后使用 stringWithCString 创建一个新的 NSString。根据原始编码,这可能无法满足您的要求。

    【讨论】:

      【解决方案3】:

      我只有一些 Java 的背景知识,我会按如下方式解决这个问题:

      String 有方法 length()getCharAt(int index) ,可以在 for 块中使用,将每个字母保存为 char ,例如在数组中。 char 可以转换为 int

      char a = 'h';

      int test = (int) a;

      现在您所要做的就是找到或编写一个方法changeIntegerToBinaryNumber() 来获取二进制数。

      要从二进制数中获取字母,上述步骤应该反过来: 查找/编写方法changeBinaryToInterger(),将int转换为char,可选择将 char 保存在一个数组中,该数组再次可以一起构建为一个 String ...

      【讨论】:

        猜你喜欢
        • 2014-07-13
        • 2014-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多