Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,884 questions

51,810 answers

573 users

How to convert binary digits to a byte array in Swift

1 Answer

0 votes
import Foundation

func binaryToByteArray(_ binaryString: String) throws -> [UInt8] {
    guard binaryString.count % 8 == 0 else {
        throw NSError(domain: "BinaryError", code: 1, userInfo: [NSLocalizedDescriptionKey: "Binary string length must be a multiple of 8."])
    }

    var byteArray: [UInt8] = []

    for i in stride(from: 0, to: binaryString.count, by: 8) {
        let startIndex = binaryString.index(binaryString.startIndex, offsetBy: i)
        let endIndex = binaryString.index(startIndex, offsetBy: 8)
        let byteString = String(binaryString[startIndex..<endIndex])
        if let byte = UInt8(byteString, radix: 2) {
            byteArray.append(byte)
        } else {
            throw NSError(domain: "ConversionError", code: 2, userInfo: [NSLocalizedDescriptionKey: "Invalid binary segment: \(byteString)"])
        }
    }

    return byteArray
}

let binaryString = "10101110111010101110101001001011"

do {
    let byteList = try binaryToByteArray(binaryString)
    print("Byte List:", byteList.map { String($0) }.joined(separator: " "))
} catch {
    print("Error: \(error.localizedDescription)")
}




/*
run:

Byte List: 174 234 234 75

*/

 



answered Aug 5, 2025 by avibootz
...