0

我想将常量的值设置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}"

但这些都不起作用。

在寻找答案时,我大多遇到关于转换自NSString或其他类型的问题。

对于所有有经验的 Objective C 程序员来说,这肯定是一个愚蠢的问题,但我很难找到答案。不过,我终于找到了它,所以我将分享我的问题和答案,希望为将来可能搜索相同问题的其他人添加一些关键字。

笔记:

4

1 回答 1

1

如果您更仔细地阅读了The Basics of the Swift 文档,您就会发现它。

整数文字可以写成:

  • 一个十进制数,没有前缀
  • 一个二进制数,前缀为 0b
  • 八进制数,前缀为 0o
  • 十六进制数,前缀为 0x

所有这些整数文字的十进制值为 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
于 2015-07-12T02:57:53.550 回答