Create an extension for subscripting ranges in strings:
extension String {
    subscript (i: Int) -> Character {
        return self[self.startIndex.advancedBy(i)]
    }
    subscript (i: Int) -> String {
        return String(self[i] as Character)
    }
    subscript (r: Range<Int>) -> String {
        let start = startIndex.advancedBy(r.startIndex)
        let end = start.advancedBy(r.endIndex - r.startIndex)
        //return self[Range(start: start, end: end)] // Deprecated in Swift 2.x
        return self[Range(start ..< end)]            // Swift 3
    }
}
Credit to aleclarson, the author of this answer.
Then, if you need to print the string in 16-character chunks, do something along the lines of:
var start = 0
var end = 15
while end < 512 {
    print(yourString[start...end])
    start += 16
    end += 16
}
Though I'd recommending checking if the string is actually 512 characters long with yourString.characters.count, or simply setting the maximum index to the character count of the string.