Operatore di accesso a singolo byte della stringa.
Sintassi |
uint8 &operator[](uint index) const uint8 &operator[](uint index) const |
---|---|
index |
Indice del byte richiesto (tra 0 e size()-1) |
Risultato |
Rende riferimento al byte richiesto |
Note |
Le stringhe sono codificate in UTF-8, quindi con codifica multi-byte: •la dimensione effettiva può variare a seconda dei caratteri utilizzati. •l'impostazione di un byte in posizioni errate può causare un errore nella codifica UTF-8 dei successivi caratteri. |
Esempio di utilizzo:
string buffer = "Hello!"; for (uint i = 0; i < buffer.size(); i++) trace("buffer[" + i + "] = 0x" + string::format(buffer[i], "0h", 2));
/* Output prodotto [Debug] buffer[0] = 0x48 [Debug] buffer[1] = 0x65 [Debug] buffer[2] = 0x6c [Debug] buffer[3] = 0x6c [Debug] buffer[4] = 0x6f [Debug] buffer[5] = 0x21 */
string buffer2 = "ՈՂՋՈՒ՜ՅՆ"; for (uint i = 0; i < buffer2.size(); i++) trace("buffer2[" + i + "] = 0x" + string::format(buffer2[i], "0h", 2));
/* Output prodotto [Debug] buffer2[0] = 0xd5 [Debug] buffer2[1] = 0x88 [Debug] buffer2[2] = 0xd5 [Debug] buffer2[3] = 0x82 [Debug] buffer2[4] = 0xd5 [Debug] buffer2[5] = 0x8b [Debug] buffer2[6] = 0xd5 [Debug] buffer2[7] = 0x88 [Debug] buffer2[8] = 0xd5 [Debug] buffer2[9] = 0x92 [Debug] buffer2[10] = 0xd5 [Debug] buffer2[11] = 0x9c [Debug] buffer2[12] = 0xd5 [Debug] buffer2[13] = 0x85 [Debug] buffer2[14] = 0xd5 [Debug] buffer2[15] = 0x86 */
/* Assegnazione a byte della stringa per testo "Hello!" */ string buffer; buffer.resize(6); buffer[0] = 0x48; buffer[1] = 0x65; buffer[2] = 0x6c; buffer[3] = 0x6c; buffer[4] = 0x6f; buffer[5] = 0x21; |