Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WriteEscapedJsonString()

unsafe void System.Runtime.Serialization.Json.XmlJsonWriter.WriteEscapedJsonString ( string str)
inlineprivate

Definition at line 1272 of file XmlJsonWriter.cs.

1273 {
1274 fixed (char* ptr = str)
1275 {
1276 int num = 0;
1277 int i;
1278 for (i = 0; i < str.Length; i++)
1279 {
1280 char c = ptr[i];
1281 if (c <= '/')
1282 {
1283 if (c == '/' || c == '"')
1284 {
1285 _nodeWriter.WriteChars(ptr + num, i - num);
1288 num = i + 1;
1289 }
1290 else if (c < ' ')
1291 {
1292 _nodeWriter.WriteChars(ptr + num, i - num);
1294 num = i + 1;
1295 }
1296 }
1297 else if (c == '\\')
1298 {
1299 _nodeWriter.WriteChars(ptr + num, i - num);
1302 num = i + 1;
1303 }
1304 else if ((c >= '\ud800' && (c <= '\udfff' || c >= '\ufffe')) || IsUnicodeNewlineCharacter(c))
1305 {
1306 _nodeWriter.WriteChars(ptr + num, i - num);
1309 _nodeWriter.WriteText($"{c:x4}");
1310 num = i + 1;
1311 }
1312 }
1313 if (num < i)
1314 {
1315 _nodeWriter.WriteChars(ptr + num, i - num);
1316 }
1317 }
1318 }

References System.Runtime.Serialization.Json.XmlJsonWriter._nodeWriter, System.Runtime.Serialization.Dictionary, System.Runtime.Serialization.Json.XmlJsonWriter.IsUnicodeNewlineCharacter(), System.Runtime.Serialization.Json.XmlJsonWriter.s_escapedJsonStringTable, System.str, System.Runtime.Serialization.Json.XmlJsonWriter.JsonNodeWriter.WriteChars(), and System.Xml.XmlUTF8NodeWriter.WriteText().

Referenced by System.Runtime.Serialization.Json.XmlJsonWriter.WriteBinHex(), System.Runtime.Serialization.Json.XmlJsonWriter.WriteJsonElementName(), and System.Runtime.Serialization.Json.XmlJsonWriter.WriteString().