UnicodeEncodeError: 'utf-8' codec can't encode character '\ud83d' in position 12759: surrogates not allowed
使用selenium和request html都遇到这个问题,page_source和render()时获取源码的时候都会这样,这两个都没有忽略选项,我该怎么办
有一个更简单的解决方案,如果你利用NSArray的内置的reverseObjectEnumerator方法和NSEnumerator的allObjects方法:
NSArray* reversedArray = [[startArray reverseObjectEnumerator] allObjects];
allObjects被记录为按照以下顺序返回一个数组,其中尚未遍历nextObject的对象:
该数组按枚举顺序包含枚举数的所有剩余对象。
为了获得一个数组的颠倒的副本,看看danielpunkass的解决方案使用reverseObjectEnumerator。
为了反转可变数组,可以将以下类别添加到代码中:
@implementation NSMutableArray (Reverse)
- (void)reverse {
if ([self count] <= 1)
return;
NSUInteger i = 0;
NSUInteger j = [self count] - 1;
while (i < j) {
[self exchangeObjectAtIndex:i
withObjectAtIndex:j];
i++;
j--;
}
}
@end