całkiem nowy programista iPhone'a tutaj. Budowanie aplikacji do wysyłania poleceń RS232 do urządzenia oczekującego ich przez gniazdo TCP/IP. Mam comms part, i mogę wysyłać polecenia ASCII w porządku. Jest to polecenie kodu szesnastkowego, z którym mam problem.Konwertuj ciąg danych szesnastkowych na NSData w Objective C (kakao)
Więc powiedzmy, że mam następujące dane hex do wysłania (w tym formacie):
\ X1C \ x02d \ x00 \ x00 \ x00 \ xFF \ x7F
Jak przekonwertować to do Obiekt NSData, którego oczekuje moja metoda wysyłania?
Oczywiście to nie działa na tych danych hex (ale nie dla standardowych poleceń ASCII):
NSString *commandascii;
NSData *commandToSend;
commandascii = @"\x1C\x02d\x00\x00\x00\xFF\x7F";
commandToSend = [commandascii dataUsingEncoding:NSStringEncoding];
Na początek, niektóre \ x kody hex to znaki ewakuacyjne i otrzymuję „wejście konwersja zatrzymana ... "ostrzeżenie podczas kompilacji w XCode. Oczywiście NSStringEncoding nie jest odpowiedni dla tego łańcucha szesnastkowego.
Pierwszy problem polega na tym, jak zapisać ciąg szesnastkowy, a następnie przekonwertować go na NSData.
Wszelkie pomysły?
Dzięki za wszystkie odpowiedzi, masz wszystko było wielką pomoc i I Dużo się nauczyłem! Zbudowałem powyższy kod, który jest niezamierzonym połączeniem kilku odpowiedzi. Działa to w przypadku ciągów takich jak "00 3c 5f 22 ef 00 00 ff", który okazuje się bardziej odpowiedni niż styl \ x. Jeszcze raz dziękuję za pomoc! –