UTF-8 encode and decode: Difference between revisions

Content added Content deleted
Line 782: Line 782:
Since UTF-8 is Lingo's native string encoding, and UTF-8 strings can be read into byteArrays (and v.v.), such UTF-8 encoding and decoding is built-in.<br />
Since UTF-8 is Lingo's native string encoding, and UTF-8 strings can be read into byteArrays (and v.v.), such UTF-8 encoding and decoding is built-in.<br />
Relevant Lingo functions are:<br />
Relevant Lingo functions are:<br />
- charToNum(string): converts single-character string to unicode code point (int)<br />
- charToNum (string): converts single-character string to unicode code point (int)<br />
- numToChar(int): converts unicode code point (int) to single-character string<br />
- numToChar (int): converts unicode code point (int) to single-character string<br />
- byteArray(string): creates byte array of UTF-8 bytes for string<br />
- byteArray (string): creates byte array of UTF-8 bytes for string<br />
- byteArray.toHexString(start, length): returns hex string representation of byte array (e.g. for printing)
- byteArray.toHexString (intStart, intLen): returns hex string representation of byte array (e.g. for printing)<br />
- byteArray.readRawString (intLen, [strCharSet="UTF-8"]): reads a fixed number of bytes as a string
<lang Lingo>chars = ["A", "ö", "Ж", "€", "𝄞"]
<lang Lingo>chars = ["A", "ö", "Ж", "€", "𝄞"]
put "Character Unicode (int) UTF-8 (hex) Decoded"
put "Character Unicode (int) UTF-8 (hex) Decoded"