Beispiel #1
0
        internal static CharUnit Deserialize(BinaryReader binaryReader)
        {
            var charUnit = new CharUnit
            {
                Char         = binaryReader.ReadChar(),
                StrokeNumber = binaryReader.ReadByte(),
                PinyinCount  = binaryReader.ReadByte()
            };

            charUnit.PinyinIndexList = new short[charUnit.PinyinCount];
            for (var i = 0; i < charUnit.PinyinCount; i++)
            {
                charUnit.PinyinIndexList[i] = binaryReader.ReadInt16();
            }
            return(charUnit);
        }
Beispiel #2
0
        internal static CharDictionary Deserialize(BinaryReader binaryReader)
        {
            var charDictionary = new CharDictionary();

            binaryReader.ReadInt32();
            charDictionary.Length = binaryReader.ReadInt32();
            charDictionary.Count  = binaryReader.ReadInt32();
            charDictionary.Offset = binaryReader.ReadInt16();
            binaryReader.ReadBytes(24);
            charDictionary.CharUnitTable = new List <CharUnit>();
            for (var i = 0; i < charDictionary.Count; i++)
            {
                charDictionary.CharUnitTable.Add(CharUnit.Deserialize(binaryReader));
            }
            binaryReader.ReadInt16();
            return(charDictionary);
        }