如何在 Swift 中以十六进制设置(初始化)unichar/UInt16 的值
How to set value of (initialize) unichar/UInt16 in hexadecimal in Swift
我想将常量 UInt16
的值设置为十六进制值。
我知道设置Swift Character
的方法是
let myValue: Character = "\u{1820}"
所以我试过了
let myValue: UInt16 = "\u{1820}"
let myValue: unichar = "\u{1820}"
let myValue: UInt16 = "\u{1820}".utf16
let myValue: unichar = "\u{1820}".utf16
let myValue = "\u{1820}"
但其中 none 有效。
在搜索答案时,我得到的问题大多是关于从 NSString
或其他类型转换的问题。
对于所有有经验的 Objective C 程序员来说,这无疑是一个愚蠢的问题,但我很难找到答案。不过,我终于找到了,所以我会分享我的问题和答案,希望为将来可能搜索相同问题的其他人添加一些关键字。
注:
- How to initialize a unichar variable in swift?这个Q&A没有讲怎么用16进制初始化
如果您更仔细地阅读 Swift 文档的 The Basics,您就会找到它。
Integer literals can be written as:
- A decimal number, with no prefix
- A binary number, with a 0b prefix
- An octal number, with a 0o prefix
- A hexadecimal number, with a 0x prefix
All of these integer literals have a decimal value of 17:
let decimalInteger = 17
let binaryInteger = 0b10001 // 17 in binary notation
let octalInteger = 0o21 // 17 in octal notation
let hexadecimalInteger = 0x11 // 17 in hexadecimal notation
所以你会
let myValue: UInt16 = 0x1820
或
let myValue: unichar = 0x1820 // unichar is a type alias of UInt16
我想将常量 UInt16
的值设置为十六进制值。
我知道设置Swift Character
的方法是
let myValue: Character = "\u{1820}"
所以我试过了
let myValue: UInt16 = "\u{1820}"
let myValue: unichar = "\u{1820}"
let myValue: UInt16 = "\u{1820}".utf16
let myValue: unichar = "\u{1820}".utf16
let myValue = "\u{1820}"
但其中 none 有效。
在搜索答案时,我得到的问题大多是关于从 NSString
或其他类型转换的问题。
对于所有有经验的 Objective C 程序员来说,这无疑是一个愚蠢的问题,但我很难找到答案。不过,我终于找到了,所以我会分享我的问题和答案,希望为将来可能搜索相同问题的其他人添加一些关键字。
注:
- How to initialize a unichar variable in swift?这个Q&A没有讲怎么用16进制初始化
如果您更仔细地阅读 Swift 文档的 The Basics,您就会找到它。
Integer literals can be written as:
- A decimal number, with no prefix
- A binary number, with a 0b prefix
- An octal number, with a 0o prefix
- A hexadecimal number, with a 0x prefix
All of these integer literals have a decimal value of 17:
let decimalInteger = 17 let binaryInteger = 0b10001 // 17 in binary notation let octalInteger = 0o21 // 17 in octal notation let hexadecimalInteger = 0x11 // 17 in hexadecimal notation
所以你会
let myValue: UInt16 = 0x1820
或
let myValue: unichar = 0x1820 // unichar is a type alias of UInt16