繁体   English   中英

如何在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}"

但是这些都不起作用。

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

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

注意:

如果您更仔细地阅读了 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM