summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/VRM/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/ThirdParty/VRM/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs')
-rw-r--r--Assets/ThirdParty/VRM/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs33
1 files changed, 33 insertions, 0 deletions
diff --git a/Assets/ThirdParty/VRM/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs b/Assets/ThirdParty/VRM/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs
new file mode 100644
index 00000000..59a58b7e
--- /dev/null
+++ b/Assets/ThirdParty/VRM/VRM/UniJSON/Scripts/Utf8String/Utf8StringBuilder.cs
@@ -0,0 +1,33 @@
+using System.Text;
+
+namespace UniJSON
+{
+ public class Utf8StringBuilder
+ {
+ ByteBuffer m_buffer = new ByteBuffer();
+
+ public void Ascii(char c)
+ {
+ m_buffer.Push((byte)c);
+ }
+
+ static Encoding s_utf8 = new UTF8Encoding(false);
+
+ public void Quote(string text)
+ {
+ Ascii('"');
+ m_buffer.Push(s_utf8.GetBytes(text));
+ Ascii('"');
+ }
+
+ public void Add(Utf8String str)
+ {
+ m_buffer.Push(str.Bytes);
+ }
+
+ public Utf8String ToUtf8String()
+ {
+ return new Utf8String(m_buffer.Bytes);
+ }
+ }
+}