Конвертировать UDF-8 в кодировке NSData в NSString

Вы можете заполнять данные в своем DataGridView с помощью любого цикла или источника данных. Затем для каждого DataGridViewRow в DataGridView1.Rows ----

Chk значение ref ypu хочет chk, а затем установить свойство DataGridviewCell [index] .style.backColor.

559
задан Bhavin Ramani 20 December 2016 в 06:25
поделиться

2 ответа

Если данные не заканчиваются нулем, вы должны использовать -initWithData: encoding:

NSString* newStr = [[NSString alloc] initWithData:theData encoding:NSUTF8StringEncoding];

Если данные заканчиваются нулем, вместо этого следует использовать -stringWithUTF8String: , чтобы избежать extra \ 0 в конце.

NSString* newStr = [NSString stringWithUTF8String:[theData bytes]];

(Обратите внимание, что если входные данные некорректно закодированы в UTF-8, вы получите nil .)


Вариант Swift:

let newStr = String(data: data, encoding: .utf8)
// note that `newStr` is a `String?`, not a `String`.

Если данные заканчиваются нулем, вы можете пойти хотя безопасным способом является удаление этого нулевого символа или небезопасным способом, аналогичным версии Objective-C выше.

// safe way, provided data is \0-terminated
let newStr1 = String(data: data.subdata(in: 0 ..< data.count - 1), encoding: .utf8)
// unsafe way, provided data is \0-terminated
let newStr2 = data.withUnsafeBytes(String.init(utf8String:))
1148
ответ дан 22 November 2019 в 22:13
поделиться

Вы можете вызвать этот метод

+(id)stringWithUTF8String:(const char *)bytes.
28
ответ дан 22 November 2019 в 22:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: