Tag: Unicode标量

在Swift 4中使用字节

有时需要实现一种算法,用于对Swift项目中的字符串,文件或其他数据进行加密/解密。 不幸的是,这种类型的算法从其他语言(例如Java)到Swift的转换并不简单。 Unicode标量 在幕后,Swift的本机String类型是根据Unicode标量值构建的。 Unicode标量是字符或修饰符的唯一21位数字,例如用于U+1F425 LATIN SMALL LETTER A ( “a” )的U+0061或用于前”🐥” ( “🐥” )的U+1F425 在Swift中,可以从UnicodeScalar值构造一个UnicodeScalar 。 我们可以从Int构造一个UnicodeScalar 。 这允许许多转换。 使用utf8和utf16这两个属性都可以访问String所有Int值。 使用这些属性,我们可以将基于数字的转换应用于字符。 注意: 将String转换为byte array和short array 让字符串:字符串=“ abcd” let byteArray:[UInt8] = string.utf8.map {UInt8($ 0)} let shortArray:[UInt16] = string.utf16.map {UInt16($ 0)} //还有另一个带有更多编码的方法如果让数据:Data = string.data(使用:.windowsCP1252,allowLossyConversion:true){//现在,您可以简单地循环遍历datafor i中的字节,即0。.<data.count {data [i] / / UInt8 value} //或者,如果您仍需要UInt8 arraylet byteArrayFromData:[UInt8] = [UInt8](data)} […]