„MSString (bajtów:, długość: , kodowanie:) "wydaje się nie działać od 26 lipca 2015 roku
Konwertowanie wartości bajtów na ASCII wydaje się problematyczne, jeśli uderzysz w ścianę, możesz to zrobić w sposób następujący (i może Być może brakuje mi czegoś szybkiego, ale nie mogłem znaleźć żadnych rozwiązań w moim czasie.) Będzie to miało dwie funkcje. Pierwsza funkcja akceptuje UInt8 i zamienia ją na reprezentację "\ u {}", która jest następnie zwracana przez funkcję. Po drugie, ustawia się inną funkcję, która przyjmuje jako parametr parametr UInt8, a następnie wypisuje ciąg znaków.
Krok nr 1. Funkcja konwersji każdy bajt do "\ 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}"
// .. Dodaj do tak wielu bohaterów, jak przewidywać ... nie zapomnij podstawy 16 ..
case 0x09: characterToReturn = "\u{09}"
case 0x0A: characterToReturn = "\u{0A}"
default: characterToReturn = "\u{0}"
/* .. i wszystko aż do 0xff */
case 0xFE: characterToReturn = "\u{FE}"
case 0xFF: characterToReturn = "\u{FF}"
}
return characterToReturn
}
Krok nr 2 ...Następna funkcja, która trwa w tablicy Uint8 jako parametr następnie zwraca łańcuch ...
func UInt8ArrayToString(#UInt8Array: [UInt8]) -> String {
var returnString : String = ""
for eachUInt8Byte in UInt8Array {
returnString += convertToCharacter(UInt8Bits: eachUInt8Byte)
}
return returnString
}
To powinno działać w Swift Playground Dodać tablicę
var myArray: [Uint8] = [0x30, 0x3A, 0x4B]
// następnie zastosować funkcje powyżej
println (UInt8ArrayToString (UInt8Array: myArray))
http://stackoverflow.com/a/24465772/986169 to może Ci pomóc – giorashc
Lub spróbuj http : //stackoverflow.com/questions/25554986/how-to-convert-string-to-unsafepointeruint8-and-length – emrys57