स्विफ्ट 3 के लिए
चरित्र
हेक्साडेसिमल code point बनाने के लिए स्विफ्ट वाक्य रचना
है अपडेट किया गया
\u{n}
जहां एन एक हेक्साडेसिमल संख्या 8 अंकों तक लंबी है। यूनिकोड scalar के लिए मान्य सीमा U + 0 से U + D7FF और U + E000 से U + 10FFFF समावेशी है। (U + DFFF श्रृंखला के लिए U + D800 surrogate pairs के लिए है, खुद को Scalars नहीं कर रहे हैं जो है, लेकिन उच्च मूल्य scalars एन्कोड करने के लिए UTF-16 में किया जाता है।)
उदाहरण:
// The following forms are equivalent. They all produce "C".
let char1: Character = "\u{43}"
let char2: Character = "\u{0043}"
let char3: Character = "\u{00000043}"
// Higher value Unicode scalars are done similarly
let char4: Character = "\u{203C}" // ‼ (DOUBLE EXCLAMATION MARK character)
let char5: Character = "\u{1F431}" // (cat emoji)
// Characters can be made up of multiple scalars
let char7: Character = "\u{65}\u{301}" // é = "e" + accent mark
let char8: Character = "\u{65}\u{301}\u{20DD}" // é⃝ = "e" + accent mark + circle
नोट्स :
- अग्रणी शून्य जोड़ा या छोड़े गए
- वर्ण +०१२३१७४३९३ रूप में जाना जाता किया जा सकता है। यहां तक कि जब वे कई स्केलर से बने होते हैं, तब भी उन्हें एक ही चरित्र माना जाता है। कुंजी क्या है कि वे उपयोगकर्ता को एक एकल चरित्र (grapheme) दिखाई देते हैं।
- कार्यसूची: How to convert surrogate pair to Unicode scalar in Swift
स्ट्रिंग
स्ट्रिंग्स पात्रों में से बना रहे हैं। हेक्साडेसिमल कोड बिंदुओं का उपयोग करके उन्हें बनाने के कुछ तरीकों के लिए निम्न उदाहरण देखें।
उदाहरण:
var string1 = "\u{0043}\u{0061}\u{0074}\u{203C}\u{1F431}" // Cat‼
// pass an array of characters to a String initializer
let catCharacters: [Character] = ["\u{0043}", "\u{0061}", "\u{0074}", "\u{203C}", "\u{1F431}"] // ["C", "a", "t", "‼", ""]
let string2 = String(catCharacters) // Cat‼
रनटाइम
पर हेक्स मान परिवर्तित क्रम आप पहली बार यह एक UnicodeScalar
को परिवर्तित करके एक Character
या String
में हेक्साडेसिमल या Int
मूल्यों में बदल सकते हैं पर।
उदाहरण:
// hex values
let value0: UInt8 = 0x43 // 97
let value1: UInt16 = 0x203C // 22823
let value2: UInt32 = 0x1F431 // 127822
// convert hex to UnicodeScalar
let scalar0 = UnicodeScalar(value0)
// make sure that UInt16 and UInt32 form valid Unicode values
guard
let scalar1 = UnicodeScalar(value1),
let scalar2 = UnicodeScalar(value2) else {
return
}
// convert to Character
let character0 = Character(scalar0) // C
let character1 = Character(scalar1) // ‼
let character2 = Character(scalar2) //
// convert to String
let string0 = String(scalar0) // C
let string1 = String(scalar1) // ‼
let string2 = String(scalar2) //
// convert hex array to String
let myHexArray = [0x43, 0x61, 0x74, 0x203C, 0x1F431] // an Int array
var myString = ""
for hexValue in myHexArray {
if let scalar = UnicodeScalar(hexValue) {
myString.append(Character(scalar))
}
}
print(myString) // Cat‼
आगे पढ़ने
@Suragch मैं एक यूनिकोड चरित्र '\ यू {0D85}' की है। मैं इससे इंट वैल्यू कैसे प्राप्त करूं? – Isuru
@ इसुरु, मैंने फिर से पूछा है और आपके प्रश्न का उत्तर दिया है: [यूनिकोड कैरेक्टर टू इंट इन स्विफ्ट में कैसे परिवर्तित करें] (http://stackoverflow.com/questions/38779114/how-to-convert-unicode-character-to -इंटर-इन-स्विफ्ट) – Suragch
@ सुरागच विस्तृत उत्तर के लिए बहुत बहुत धन्यवाद। मुझे वास्तव में यह पता चला कि यह [उत्तर] में कैसे करें (http://stackoverflow.com/a/24102584/1077789)। लेकिन फिर भी, पूरी तरह से स्पष्टीकरण के लिए अच्छा है। – Isuru