我需要将字符串的每个字符转换为等效的ASCII值/整数值。每个字符串包含六个与以下内容类似的字符:
var str = "20‰/<;"
使用上面的字符串我期待50,48,137,47,60,59,我能够提取每个字符但是很难将字符转换为它的整数ASCII值
背景:该字符串表示来自Arduino的6个电压值,使用蓝牙LE串行连接从Arduino传输到iPhone。最初我试图转移一个类似于&#39; 5.0,4.8,13.7,4.7,6.0,5.9&#39;的字符串。但发现BLE有20字节的传输限制。结果我决定,如果我将电压值乘以10,然后将它们转换为Arduino上的字符,则会将传输的数据减少到只有6个字节。我的挑战是将角色转换回电压浮动值。
如果有人有更好的或替代的方式将6个电压值从Arduino传输到iPhone,我感兴趣。电压范围在0-18伏之间
答案 0 :(得分:1)
(回答你问的问题,但评论是有效的:单个字节可以表示任何带有一点数学的范围......)
来自docs:
for codeUnit in someString.utf8 {
print("\(codeUnit) ", terminator: "")
}
应打印出以空格分隔的ASCII字符数列表。
因为UTF8代表ASCII字符,所以每个字符的UTF8代码单元应该可以满足您的需求。