2015-07-17 2 views
-1

При печати массив строк в журнал большинство строк обнаружиться, как они предполагают, чтобы, но иногда шоу, как это:Строка Показано как Unicode - Swift

\U200e\U05d3\U05d5\U05e8\U05d9\U05ea \U05dc\U05d5\U05d9\U200e  

Что является причиной этой проблемы ?

+0

Это не проблема. Это всего лишь способ показать строку. – matt

+0

, но почему некоторые строки показывают, что это «Hello», а некоторые в unicode? – Omer

+0

Так работает каротаж какао. «Привет» - это ASCII. Ивритские символы - нет. – matt

ответ

0

Когда вы регистрируете массив с NSLog или когда вы регистрируете NSArray с print, вы полагаетесь на ведение журнала Cocoa. Он очень старый, поэтому он представляет строку, отличную от ASCII, путем отображения ее кодовых точек.

Если вам это не нравится, войдите в систему с помощью Swift's print и убедитесь, что вы регистрируете Swift Array, а не NSArray.

let s = "\u{200e}\u{05d3}\u{05d5}\u{05e8}\u{05d9}\u{05ea}" 
NSLog("%@",[s])  // Cocoa is logging 
print([s] as NSArray) // Cocoa is logging 
print([s])   // Swift is logging 
Смежные вопросы