📄 ucs4decoderbigengian.cs
字号:
namespace FreeTextBoxControls.Support.Sgml
{
using System;
internal class Ucs4DecoderBigEngian : Ucs4Decoder
{
internal override int GetFullChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex)
{
byteCount += byteIndex;
int num2 = byteIndex;
int num3 = charIndex;
while ((num2 + 3) < byteCount)
{
uint num1 = (uint) ((((bytes[num2 + 3] << 0x18) | (bytes[num2 + 2] << 0x10)) | (bytes[num2 + 1] << 8)) | bytes[num2]);
if (num1 > 0x10ffff)
{
throw new Exception("Invalid character 0x" + num1.ToString("x") + " in encoding");
}
if (num1 > 0xffff)
{
chars[num3] = base.UnicodeToUTF16(num1);
num3++;
}
else
{
if ((num1 >= 0xd800) && (num1 <= 0xdfff))
{
throw new Exception("Invalid character 0x" + num1.ToString("x") + " in encoding");
}
chars[num3] = (char) ((ushort) num1);
}
num3++;
num2 += 4;
}
return (num3 - charIndex);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -