예제 #1
0
 internal override void ToBinary(BinaryPropertyListWriter outPlist)
 {
     if (ordered)
     {
         set.Sort();
         outPlist.WriteIntHeader(0xB, set.Count);
     }
     else
     {
         outPlist.WriteIntHeader(0xC, set.Count);
     }
     foreach (NSObject obj in set)
     {
         outPlist.WriteID(outPlist.GetID(obj));
     }
 }
예제 #2
0
        internal override void ToBinary(BinaryPropertyListWriter outPlist)
        {
            int kind;

            byte[] byteBuf;
            lock (typeof(NSString))
            {
                if (asciiEncoder == null)
                {
                    // Not much use, because some characters do not fallback to exception, even if not ASCII
                    asciiEncoder = Encoding.GetEncoding("ascii", EncoderFallback.ExceptionFallback, DecoderFallback.ExceptionFallback);
                }

                if (IsASCIIEncodable(content))
                {
                    kind    = 0x5; // standard ASCII
                    byteBuf = asciiEncoder.GetBytes(content);
                }
                else
                {
                    if (utf16beEncoder == null)
                    {
                        utf16beEncoder = Encoding.BigEndianUnicode;
                    }

                    kind    = 0x6; // UTF-16-BE
                    byteBuf = utf16beEncoder.GetBytes(content);
                }
            }
            outPlist.WriteIntHeader(kind, content.Length);
            outPlist.Write(byteBuf);
        }
예제 #3
0
 internal override void ToBinary(BinaryPropertyListWriter outPlist)
 {
     outPlist.WriteIntHeader(0xA, array.Count);
     foreach (NSObject obj in array)
     {
         outPlist.WriteID(outPlist.GetID(obj));
     }
 }
예제 #4
0
 internal override void ToBinary(BinaryPropertyListWriter outPlist)
 {
     outPlist.WriteIntHeader(0xD, dict.Count);
     foreach (KeyValuePair <String, NSObject> entry in dict)
     {
         outPlist.WriteID(outPlist.GetID(new NSString(entry.Key)));
     }
     foreach (KeyValuePair <String, NSObject> entry in dict)
     {
         outPlist.WriteID(outPlist.GetID(entry.Value));
     }
 }
예제 #5
0
파일: NSData.cs 프로젝트: admsrv/plist-cil
 internal override void ToBinary(BinaryPropertyListWriter outPlist)
 {
     outPlist.WriteIntHeader(0x4, bytes.Length);
     outPlist.Write(bytes);
 }
예제 #6
0
 internal override void ToBinary(BinaryPropertyListWriter outPlist)
 {
     outPlist.WriteIntHeader(0x4, bytes.Length);
     outPlist.Write(bytes);
 }
예제 #7
0
        internal override void ToBinary(BinaryPropertyListWriter outPlist)
        {
            int kind;
            byte[] byteBuf;
            lock (typeof(NSString))
            {
                if (asciiEncoder == null)
                    // Not much use, because some characters do not fallback to exception, even if not ASCII
                    asciiEncoder = Encoding.GetEncoding("ascii", EncoderFallback.ExceptionFallback, DecoderFallback.ExceptionFallback);

                if (IsASCIIEncodable(content))
                {
                    kind = 0x5; // standard ASCII
                    byteBuf = asciiEncoder.GetBytes(content);
                }
                else
                {
                    if (utf16beEncoder == null)
                        utf16beEncoder = Encoding.BigEndianUnicode;

                    kind = 0x6; // UTF-16-BE
                    byteBuf = utf16beEncoder.GetBytes(content);
                }
            }
            outPlist.WriteIntHeader(kind, content.Length);
            outPlist.Write(byteBuf);
        }
예제 #8
0
 internal override void ToBinary(BinaryPropertyListWriter outPlist)
 {
     outPlist.WriteIntHeader(0xA, array.Length);
     foreach (NSObject obj in array)
     {
         outPlist.WriteID(outPlist.GetID(obj));
     }
 }
예제 #9
0
 internal override void ToBinary(BinaryPropertyListWriter outPlist)
 {
     if (ordered)
     {
         set.Sort();
         outPlist.WriteIntHeader(0xB, set.Count);
     }
     else
     {
         outPlist.WriteIntHeader(0xC, set.Count);
     }
     foreach (NSObject obj in set)
     {
         outPlist.WriteID(outPlist.GetID(obj));
     }
 }