You TF, I TF, We all TF for UTF
UTF ( Unicode Text Format is a Multi-language standard for representing Unicode text. there are three ways of representing Unicode elements: UTF-8, UTF-16, and UTF-32.
The formats for UTF-8 are:
+-+-+-+-+-+-+-+-+
|0| ASCII code | 7 bits
+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|1 1 0|bits 10-6| |1 0| bits 5-0 | 11 bits
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|1 1 1 0| bits | |1 0| bits 11-6 | |1 0| bits 5-0 | 16 bits
| | 15-12 | | | | | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| | bits| | | | | | | | | | 21
|1 1 1 1 0| 20- | |1 0| bits 17-12| |1 0| bits 11-6 | |1 0| bits 5-0 | bits
| | 18 | | | | | | | | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
Note: code points beyond 21 bits have no usage assigned
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| bits| | | | | | | | | |
|1 1 1 1 1 0| 25| |1 0| bits 23-18| |1 0| bits 17-12| |1 0| bits 11-6 |
| |-24| | | | | | | | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+
| | |
|1 0| bits 5-0 | 26 bits
| | |
+-+-+-+-+-+-+-+-+
For longest (31 bit) code points:
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|1 1 1 1 1 1 0| | | | | | | | | | |
| bit |1 0| bits 29-24| |1 0| bits 23-18| |1 0| bits 17-12|
| 30| | | | | | | | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| | | | | |
|1 0| bits 11-6 | |1 0| bits 5-0 | 31 bits
| | | | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
Suggested but not adopted for 32 bit values:
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|1 1 1 1 1 1 1| | | | | | | | | | |
| bit |1 0| bits 29-24| |1 0| bits 23-18| |1 0| bits 17-12|
| 30| | | | | | | | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| | | | | |
|1 0| bits 11-6 | |1 0| bits 5-0 | 32 bits (bit 31 = 1)
| | | | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
The following formats are "overlong" representations and MUST be treated as
errors:
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|1 1 0 0 0 0 0| | | | |
| bit |1 0| bits 5-0 | 11 bits to represent 7 or fewer bits
| |6| | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|1 1 1 0 0 0 0 0| |1 0 0|bits 10-6| |1 0| bits 5-0 | 16 bits to represent
| | | | | | | | 11 or fewer bits
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|1 1 1 1 0 0 0 0| |1 0 0 0| bits | |1 0| bits 11-6 | |1 0| bits 5-0 | 21
| | | | 15-12 | | | | | | | bits
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ to
represent 16 or fewer bits
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|1 1 1 1 1 0 0 0| |1 0 0 0 0|bits | |1 0| bits 17-12| |1 0| bits 11-6 |
| | | |20-18| | | | | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+
|1 0| bits 5-0 | 26 bits to represent 21 or fewer bits
| | |
+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| | | bits| | | | | | |
|1 1 1 1 1 1 0 0| |1 0 0 0 0 0| 25| |1 0| bits 23-18| |1 0| bits 17-12|
| | | |-24| | | | | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| | | | | |
|1 0| bits 11-6 | |1 0| bits 5-0 | 31 bits to represent 26 or fewer
| | | | | | bits
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
The formats for UTF-16 are:
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|1 1 1 1 1 1 1 0| |1 1 1 1 1 1 1 1| Byte Order Mark (BOM = xFEFF)
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| bits 15-8 | | bits 7-0 | 16 bit code points
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
Code points greater than xFFFF (65,535) are represented by subtracting x10000
(65,536) and distributing the bits of the result over 4 bytes
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| bits| | | | bits| | | 21 bit
|1 1 0 1 1 0|19-| | bits 17-10 | |1 1 0 1 1 1|9-8| | bits 7-0 | code
| xD8 - xDB |18 | | | | xDC - xDF | | | | points
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
0 Comments:
Post a Comment
Please enter your comment here. Comments wil be reviewed before being published.
Subscribe to Post Comments [Atom]
<< Home