|
13 | 13 | * * |
14 | 14 | * hprose BytesIO for HTML5. * |
15 | 15 | * * |
16 | | - * LastModified: Aug 11, 2015 * |
| 16 | + * LastModified: Aug 21, 2015 * |
17 | 17 | * Author: Ma Bingyao <andot@hprose.com> * |
18 | 18 | * * |
19 | 19 | \**********************************************************/ |
|
64 | 64 | if (i + 1 < n) { |
65 | 65 | var nextCodeUnit = str.charCodeAt(i + 1); |
66 | 66 | if (codeUnit < 0xDC00 && 0xDC00 <= nextCodeUnit && nextCodeUnit <= 0xDFFF) { |
67 | | - var rune = (((codeUnit & 0xDC00) << 10) | (nextCodeUnit & 0x03FF)) + 0x010000; |
68 | | - bytes[p++] = 0xF0 | ((rune >> 18) & 0x3F); |
| 67 | + var rune = (((codeUnit & 0x03FF) << 10) | (nextCodeUnit & 0x03FF)) + 0x010000; |
| 68 | + bytes[p++] = 0xF0 | (rune >> 18); |
69 | 69 | bytes[p++] = 0x80 | ((rune >> 12) & 0x3F); |
70 | 70 | bytes[p++] = 0x80 | ((rune >> 6) & 0x3F); |
71 | 71 | bytes[p++] = 0x80 | (rune & 0x3F); |
|
117 | 117 | break; |
118 | 118 | case 15: |
119 | 119 | if (off + 2 < len) { |
120 | | - var rune = ((unit & 0x07) << 18) | |
| 120 | + var rune = (((unit & 0x07) << 18) | |
121 | 121 | ((bytes[off++] & 0x3F) << 12) | |
122 | 122 | ((bytes[off++] & 0x3F) << 6) | |
123 | | - (bytes[off++] & 0x3F) - 0x10000; |
| 123 | + (bytes[off++] & 0x3F)) - 0x10000; |
124 | 124 | if (0 <= rune && rune <= 0xFFFFF) { |
125 | 125 | charCodes[i++] = (((rune >> 10) & 0x03FF) | 0xD800); |
126 | 126 | charCodes[i] = ((rune & 0x03FF) | 0xDC00); |
|
182 | 182 | break; |
183 | 183 | case 15: |
184 | 184 | if (off + 2 < len) { |
185 | | - var rune = ((unit & 0x07) << 18) | |
| 185 | + var rune = (((unit & 0x07) << 18) | |
186 | 186 | ((bytes[off++] & 0x3F) << 12) | |
187 | 187 | ((bytes[off++] & 0x3F) << 6) | |
188 | | - (bytes[off++] & 0x3F) - 0x10000; |
| 188 | + (bytes[off++] & 0x3F)) - 0x10000; |
189 | 189 | if (0 <= rune && rune <= 0xFFFFF) { |
190 | 190 | charCodes[i++] = (((rune >> 10) & 0x03FF) | 0xD800); |
191 | 191 | charCodes[i] = ((rune & 0x03FF) | 0xDC00); |
|
257 | 257 | break; |
258 | 258 | case 15: |
259 | 259 | if (off + 2 < len) { |
260 | | - var rune = ((unit & 0x07) << 18) | |
| 260 | + var rune = (((unit & 0x07) << 18) | |
261 | 261 | ((bytes[off++] & 0x3F) << 12) | |
262 | 262 | ((bytes[off++] & 0x3F) << 6) | |
263 | | - (bytes[off++] & 0x3F) - 0x10000; |
| 263 | + (bytes[off++] & 0x3F)) - 0x10000; |
264 | 264 | if (0 <= rune && rune <= 0xFFFFF) { |
265 | 265 | i++; |
266 | 266 | } |
|
0 commit comments