|
@@ 3513-3523 (lines=11) @@
|
| 3510 |
|
var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0; |
| 3511 |
|
|
| 3512 |
|
// count binary size |
| 3513 |
|
for (m_pos = 0; m_pos < str_len; m_pos++) { |
| 3514 |
|
c = str.charCodeAt(m_pos); |
| 3515 |
|
if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) { |
| 3516 |
|
c2 = str.charCodeAt(m_pos+1); |
| 3517 |
|
if ((c2 & 0xfc00) === 0xdc00) { |
| 3518 |
|
c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); |
| 3519 |
|
m_pos++; |
| 3520 |
|
} |
| 3521 |
|
} |
| 3522 |
|
buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4; |
| 3523 |
|
} |
| 3524 |
|
|
| 3525 |
|
// allocate buffer |
| 3526 |
|
buf = new utils.Buf8(buf_len); |
|
@@ 1636-1646 (lines=11) @@
|
| 1633 |
|
var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0; |
| 1634 |
|
|
| 1635 |
|
// count binary size |
| 1636 |
|
for (m_pos = 0; m_pos < str_len; m_pos++) { |
| 1637 |
|
c = str.charCodeAt(m_pos); |
| 1638 |
|
if (((c & 0xfc00) === 0xd800) && (m_pos+1 < str_len)) { |
| 1639 |
|
c2 = str.charCodeAt(m_pos+1); |
| 1640 |
|
if ((c2 & 0xfc00) === 0xdc00) { |
| 1641 |
|
c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); |
| 1642 |
|
m_pos++; |
| 1643 |
|
} |
| 1644 |
|
} |
| 1645 |
|
buf_len += (c < 0x80) ? 1 : ((c < 0x800) ? 2 : ((c < 0x10000) ? 3 : 4)); |
| 1646 |
|
} |
| 1647 |
|
|
| 1648 |
|
// allocate buffer |
| 1649 |
|
if (support.uint8array) { |