| 123456789101112131415161718192021222324252627282930313233 |
- using System;
- using System.IO;
- using System.Text;
- namespace UnityFS
- {
- public static class BinaryWriterExtensions
- {
- public static void AlignStream(this BinaryWriter writer, int alignment)
- {
- var pos = writer.BaseStream.Position;
- var mod = pos % alignment;
- if (mod != 0)
- {
- writer.Write(new byte[alignment - mod]);
- }
- }
- public static void WriteAlignedString(this BinaryWriter writer, string str)
- {
- var bytes = Encoding.UTF8.GetBytes(str);
- writer.Write(bytes.Length);
- writer.Write(bytes);
- writer.AlignStream(4);
- }
- public static void WriteNullEndString(this BinaryWriter writer, string str)
- {
- writer.Write(Encoding.UTF8.GetBytes(str));
- writer.Write((byte)0);
- }
- }
- }
|