【发布时间】:2011-04-17 08:34:57
【问题描述】:
我正在尝试将NSString 转换为ResType,如下面的MacTypes.h 中所定义。
FourCharCode // A 32-bit value made by packing four 1 byte characters together
typedef FourCharCode ResType;
我想我可以使用[aString getCharacters:range:],但有没有更直接的方法来进行这种转换?
在尝试了 David 的建议后,这里有一些进一步的信息。
我正在使用 GTResourceFork,这是一个用于访问资源分叉的 Cocoa 包装器。我调用的方法是: - (NSArray *)usedResourcesOfType: (ResType)type;
如果我硬编码一个 'RTF' 的值,我会得到我期望的结果。我无法弄清楚如何将包含“RTF”的 NSString 转换为硬编码值。我使用 NSString 的 getCharacters 和 getBytes 创建了一个测试用例,它们都给了我不同的整数值。如何转换 NSString 以给我与硬编码相同的整数值?
Method used: Value: Casted int value:
Hard Coded(Works): 'RTF ' '1381254688'
getCharacters: 'RTF ' '5505106'
getBytes(ASCII): 'RTF ' '541480018'
getBytes(UTF8): 'RTF ' '541480018'
提前致谢, 兰斯
【问题讨论】:
标签: objective-c nsstring char