如何在 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】:

如果asbdsUnsafePointer&lt;AudioStreamBasicDescription&gt; 类型或[AudioStreamBasicDescription] 类型,那么我相信这应该可行:

for i in 0 ..< asbdCount 
    var format4cc = CFSwapInt32HostToBig(asbds[i].mFormatID)
    withUnsafePointer(&format4cc)  cptr in
        println(String(format: "mFormatID: %4.4s", cptr))
    

【讨论】:

以上是关于如何在 Swift 中将多字符数字格式转换为可读的字符串?的主要内容,如果未能解决你的问题,请参考以下文章

将时间戳转换为可读的日期/时间 PHP

如何使用 XSLT 将刻度转换为可读的日期时间?

将时间(自 YYYY 以来的天数给出)转换为可读的时间格式

将 ison 转换为可读的飞镖

如何在sql server中将这些奇怪的字符解码为可读的波斯语?

在Java中将字节大小转换为人类可读的格式?