Sur*_*gch 10 unicode integer swift
我有一个unicode角色
\u{0D85}
.我如何从中获得Int
价值?
我打算将它们引用到另一个Stack Overflow Q&A,但我找不到一个.这些是指转换另一个方向:
这些似乎是在询问如何将字符串形式的数字转换为实际数字Int
(如转换"1"
为1
).
我将在下面提供一个答案,而不是试图将我的答案放在对提问者的评论中.类型\u{0D85}
有点不清楚,但我将涵盖各种可能性.
Hex到Int
如果您从一开始就\u{0D85}
知道Unicode字符的十六进制值,那么您也可以使用以下格式编写它,因为它Int
已经是.
let myInt = 0x0D85 // Int: 3461
Run Code Online (Sandbox Code Playgroud)
字符串到Int
不过,我假设你有"\u{0D85}"
(在引号中)String
默认情况下它是一个.因为它是a String
,你不能确定你只有Int
一般情况下的单一值.
let myString = "\u{0D85}"
for element in myString.unicodeScalars {
let myInt = element.value // UInt32: 3461
}
Run Code Online (Sandbox Code Playgroud)
我也可以使用myString.utf16
和let myInt = Int(element)
,但是当有可能出现像表情符号这样的东西时,我发现处理Unicode标量值(UTF-32)更容易.(有关详细信息,请参阅此答案.)
Int的字符
Swift Character
是一个扩展的字形集群,没有utf16
或unicodeScalars
属性,所以如果你开始时Character
将它转换为String
第一个,然后按照上面String to Int部分中的指示进行操作.
let myChar: Character = "\u{0D85}"
let myString = String(myChar)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3882 次 |
最近记录: |