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); }
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); }