2016-03-23 3 views
4

я в настоящее время есть строка следующим образом, который я получил с помощью вызова API:Преобразование Unicode в Swift

\ п \ nОно \ u2019s большое место, чтобы открыть для себя Берлин и удобное место прийти домой.

И я хочу, чтобы преобразовать его в нечто вроде этого, который является более читаемым:

Это отличное место для знакомства с Берлином и удобное место, чтобы прийти домой.

Я просмотрел сообщение this, но это записывает каждое преобразование вручную, и может быть добавлено больше этих сканированных символов юникода.

То, что я понимаю, \u{2019} является unicode скаляром, но формат для этого \U2019, и я довольно смущен. Существуют ли встроенные методы для этого преобразования?

+0

См. Также этот ответ http://stackoverflow.com/a/31483262 – Suragch

ответ

3

This answer предлагает использовать метод NSString stringByFoldingWithOptions.

Класс Swift String имеет концепцию «вид», которая позволяет работать с строкой под разными кодировками. Это довольно аккуратно, и есть некоторые взгляды, которые могут вам помочь.

Если вы имеете дело со строками в Свифте, прочитайте this excellent post от Майка Эша. Он обсуждает идею того, что строка действительно с большой детализацией и имеет некоторые полезные советы для Swift 2.

0

Предполагая, что вы уже разделив строку и может получить формат обижая отдельно:

func convertFormat(stringOrig: String) -> Character { 
    let subString = String(stringOrig.characters.split("U").map({$0})[1]) 
    let scalarValue = Int(subString) 
    let scalar = UnicodeScalar(scalarValue!) 
    return Character(scalar) 
} 

Это будет преобразовать строку "\U2019" в символ, представленный "\u{2019}".

Смежные вопросы