Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,21 @@
|
|||
import Foundation
|
||||
|
||||
func encode(_ scalar: UnicodeScalar) -> Data {
|
||||
return Data(String(scalar).utf8)
|
||||
}
|
||||
|
||||
func decode(_ data: Data) -> UnicodeScalar? {
|
||||
guard let string = String(data: data, encoding: .utf8) else {
|
||||
assertionFailure("Failed to convert data to a valid String")
|
||||
return nil
|
||||
}
|
||||
assert(string.unicodeScalars.count == 1, "Data should contain one scalar!")
|
||||
return string.unicodeScalars.first
|
||||
}
|
||||
|
||||
for scalar in "AöЖ€𝄞".unicodeScalars {
|
||||
let bytes = encode(scalar)
|
||||
let formattedBytes = bytes.map({ String($0, radix: 16)}).joined(separator: " ")
|
||||
let decoded = decode(bytes)!
|
||||
print("character: \(decoded), code point: U+\(String(scalar.value, radix: 16)), \tutf-8: \(formattedBytes)")
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue