Sample code for 30+ languages & platforms
Swift

Append Big-Endian or Little-Endian Integers

Demonstrates how to append integers in big-endian or little-endian byte order to a BinData.

Note: This example requires Chilkat v9.5.0.77 or greater.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    let bd = CkoBinData()!

    // The hex value of decimal 123456789 is 0x075BCD15
    var x: Int = 123456789

    // Appending little-endian causes bytes to be
    // appended in the order 0x15, 0xCD, 0x5B, 0x07
    var littleEndian: Bool = true
    success = bd.appendInt4(value: x, littleEndian: littleEndian)

    print("\(bd.getEncoded(encoding: "hex")!)")
    // Output is: 15CD5B07

    // Now append the same integer in big-endian byte order.
    // Appending bit-endian causes bytes to be
    // appended in the order 0x07, 0x5B, 0xCD, 0x15
    littleEndian = false
    bd.appendInt4(value: x, littleEndian: littleEndian)

    print("\(bd.getEncoded(encoding: "hex")!)")
    // bd now contains: 15CD5B07075BCD15

    // -------------------------------------------
    // Now do the same thing with 16-bit integers
    bd.clear()

    // 1234 decimal = 0x04D2 hex.
    x = 1234

    littleEndian = true
    bd.appendInt2(value: x, littleEndian: littleEndian)

    print("\(bd.getEncoded(encoding: "hex")!)")
    // Output is: D204

    littleEndian = false
    bd.appendInt2(value: x, littleEndian: littleEndian)

    print("\(bd.getEncoded(encoding: "hex")!)")
    // Output is now: D20404D2

}