WINAPI具有将Unicode主机名转换为Punycode的方法。 Cocoa / Cocoa Touch有类似的机制吗?
答案 0 :(得分:2)
有一些没有任何外部库的黑客攻击。假设您在 theUrl 中有一个Unicode URL,您可以这样做:
NSURL *urlToLoad = nil;
NSPasteboard * pasteboard = [NSPasteboard pasteboardWithName:@"RandomPB"];
[pasteboard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
@try
{
if ([pasteboard setString:theUrl forType:NSStringPboardType])
urlToLoad = [WebView URLFromPasteboard:pasteboard];
}
@catch (NSException * exception)
{
urlToLoad = nil;
NSLog(@"Can't create URL from string '%@'.", theUrl);
}
return urlToLoad;
答案 1 :(得分:0)
查看SBPunyCode(更新后的链接)