Example #1
0
            private bool TryGetEncodedSystemStringTypeMarker(string value, out JsonBinaryEncoding.MultiByteTypeMarker typeMarker)
            {
                typeMarker = new JsonBinaryEncoding.MultiByteTypeMarker(null);
                int systemStringId;

                if (JsonBinaryEncoding.TryGetSystemStringId(value, out systemStringId))
                {
                    const byte OneByteCount = JsonBinaryEncoding.TypeMarker.SystemString1ByteLengthMax - JsonBinaryEncoding.TypeMarker.SystemString1ByteLengthMin;

                    if (systemStringId < OneByteCount)
                    {
                        byte[] typeMarkerBytes = new byte[]
                        {
                            (byte)(JsonBinaryEncoding.TypeMarker.SystemString1ByteLengthMin + (int)systemStringId)
                        };

                        typeMarker = new JsonBinaryEncoding.MultiByteTypeMarker(typeMarkerBytes);
                    }
                    else
                    {
                        int    twoByteOffset   = ((int)systemStringId) - OneByteCount;
                        byte[] typeMarkerBytes = new byte[]
                        {
                            (byte)((twoByteOffset / 0xFF) + JsonBinaryEncoding.TypeMarker.SystemString2ByteLengthMin),
                            (byte)(twoByteOffset % 0xFF),
                        };

                        typeMarker = new JsonBinaryEncoding.MultiByteTypeMarker(typeMarkerBytes);
                    }

                    return(true);
                }

                return(false);
            }
Example #2
0
            private bool TryGetEncodedStringTypeMarker(string value, out JsonBinaryEncoding.MultiByteTypeMarker typeMarker)
            {
                if (this.TryGetEncodedSystemStringTypeMarker(value, out typeMarker))
                {
                    return(true);
                }

                if (this.TryGetEncodedUserStringTypeMarker(value, out typeMarker))
                {
                    return(true);
                }

                return(false);
            }
Example #3
0
 private bool TryGetEncodedUserStringTypeMarker(string value, out JsonBinaryEncoding.MultiByteTypeMarker typeMarker)
 {
     typeMarker = new JsonBinaryEncoding.MultiByteTypeMarker();
     return(false);
 }