如何在 Swift 中将多字符数字格式转换为可读的字符串?
Posted
技术标签:
【中文标题】如何在 Swift 中将多字符数字格式转换为可读的字符串?【英文标题】:How to convert multiple-character numeric format into a readable string in Swift? 【发布时间】:2015-08-27 22:47:08 【问题描述】:我正在尝试将使用 AudioFileGetGlobalInfo 获得的 AudiostreamBasicDescription 的 mFormatID 属性转换为可读字符串。 在 Objective-C 中它看起来像这样:
for (int i = 0; i < asbdCount; i++)
UInt32 format4cc = CFSwapInt32HostToBig(asbds[i].mFormatID);
NSLog(@"mFormatID: %4.4s", (char*)&format4cc);
此代码是 Learning Core Audio 书中的一段 CAStreamFormatTester。 asbds 是指向 AudioStreamBasicDescriptions 的指针。如何将其转换为 Swift?
【问题讨论】:
【参考方案1】:如果asbds
是UnsafePointer<AudioStreamBasicDescription>
类型或[AudioStreamBasicDescription]
类型,那么我相信这应该可行:
for i in 0 ..< asbdCount
var format4cc = CFSwapInt32HostToBig(asbds[i].mFormatID)
withUnsafePointer(&format4cc) cptr in
println(String(format: "mFormatID: %4.4s", cptr))
【讨论】:
以上是关于如何在 Swift 中将多字符数字格式转换为可读的字符串?的主要内容,如果未能解决你的问题,请参考以下文章