这一定很简单 - 当然这种方法应该可以工作 - 但我想对于双字节到一个字节的问题我有一些问题。NSString stringWithCharacters Unicode问题
该代码的目的是生成一定长度的0个字符的字符串(10减去将结束的数字的数量)。它看起来像这样:
const unichar zero = 0x0030;
NSString *zeroBuffer = [NSString stringWithCharacters:&zero length:(10 - [[NSString stringWithFormat:@"%i", photoID] length])];
替代第二线路(在地址&零铸造物):
NSString *zeroBuffer = [NSString stringWithCharacters:(unichar *)&zero length:(10 - [[NSString stringWithFormat:@"%i", photoID] length])];
0x0030是数字0在Unicode的基本拉丁语部分的地址表。
如果photoID是123我想zeroBuffer是@“0000000”。什么它实际上作为最终是沿着线(不知道这将如何展示)这是一个零个,然后一些疯狂的Unicode字符:
0䪨燱ܾ뿿;
我假设我有数据跨越字符边界或什么的。我已经暂时将其重写为一个愚蠢的子串事物,但是这似乎更有效率。
我在做什么错?
啊,这解释了一切,谢谢,没有更多的拉毛。我应该已经意识到“长度”并不意味着与“数”相同的东西。 :)您的替代解决方案非常适合我的需求。 FWIW我已经解决了[@“0000000000”substringToIndex:(10 -...),但它并不漂亮,但它可能是最快和最少的内存密集型(并且不可变的字符串!),如果我需要除了0之外的字符,它只是一个重复的字符,我知道它的最大长度相当小,再次感谢。 – 2010-11-16 03:37:04