Transliterate/transpose the characters in the NSString

前端 未结 3 877
不思量自难忘°
不思量自难忘° 2021-02-02 17:59

I want to transliterate a cyrillic string to it\'s closest latin equivalent. E.g. \"матрешка\" => \"matreshka\", \"водка\" => \"vodka\". So ideally I want some ready to use meth

3条回答
  •  忘了有多久
    2021-02-02 18:32

    Either try CFStringTransform function of CFMutableString with kCFStringTransformToLatin transform identifier or make a NSString category with simple mapping.

    Edited by the question poster: more specifically it should be:

    NSMutableString *buffer = [@"русский язык" mutableCopy];
    CFMutableStringRef bufferRef = (__bridge CFMutableStringRef)buffer;
    CFStringTransform(bufferRef, NULL, kCFStringTransformToLatin, false);
    NSLog(@"%@", buffer); // outputs "russkij âzyk"
    

提交回复
热议问题