"MSString (byte: lunghezza: , codifica:) "non sembra funzionare a partire dal 26 luglio 2015
Convertire i valori di byte in ASCII sembra problematico, se hai colpito un muro puoi farlo nel modo più difficile come segue (e be mi manca qualcosa con swift ma non ho trovato nessuna soluzione entro il mio tempo.) Questo sarà fatto con due funzioni. La prima funzione accetta un UInt8 e lo converte in una rappresentazione "\ u {}", che viene quindi restituita dalla funzione. Secondo, viene impostata un'altra funzione che accetta un array UInt8 come parametro, quindi emette una stringa.
Passaggio 1. Funzione di conversione ogni byte a "\ u {} someNumber"
func convertToCharacters(#UInt8Bits : UInt8) -> String {
var characterToReturn : String
switch UInt8Bits{
case 0x00: characterToReturn = "\u{0}"
case 0x01: characterToReturn = "\u{1}"
case 0x02: characterToReturn = "\u{2}"
case 0x03: characterToReturn = "\u{3}"
case 0x04: characterToReturn = "\u{4}"
// .. Aggiungi per tutti i caratteri che si prevede ... non dimenticate di base 16 ..
case 0x09: characterToReturn = "\u{09}"
case 0x0A: characterToReturn = "\u{0A}"
default: characterToReturn = "\u{0}"
/* .. e tutta la strada fino a 0xff */
case 0xFE: characterToReturn = "\u{FE}"
case 0xFF: characterToReturn = "\u{FF}"
}
return characterToReturn
}
Passo # 2 ...Accanto una funzione che prende in una matrice uint8 come parametro restituisce una stringa ...
func UInt8ArrayToString(#UInt8Array: [UInt8]) -> String {
var returnString : String = ""
for eachUInt8Byte in UInt8Array {
returnString += convertToCharacter(UInt8Bits: eachUInt8Byte)
}
return returnString
}
Questo dovrebbe funzionare in un parco giochi Swift Fare una matrice
var myArray: [Uint8] = [0x30, 0x3A, 0x4B]
// quindi applicare le funzioni sopra
println (UInt8ArrayToString (UInt8Array: myArray))
http://stackoverflow.com/a/24465772/986169 Questo potrebbe aiutare a – giorashc
Oppure provate http : //stackoverflow.com/questions/25554986/how-to-convert-string-to-unsafepointeruint8-and-length – emrys57