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

◆ Populate83FileNameFromRandomBytes()

static unsafe void System.IO.Path.Populate83FileNameFromRandomBytes ( byte * bytes,
int byteCount,
Span< char > chars )
inlinestaticprivate

Definition at line 724 of file Path.cs.

725 {
726 byte b = *bytes;
727 byte b2 = bytes[1];
728 byte b3 = bytes[2];
729 byte b4 = bytes[3];
730 byte b5 = bytes[4];
731 chars[11] = (char)Base32Char[bytes[7] & 0x1F];
732 chars[0] = (char)Base32Char[b & 0x1F];
733 chars[1] = (char)Base32Char[b2 & 0x1F];
734 chars[2] = (char)Base32Char[b3 & 0x1F];
735 chars[3] = (char)Base32Char[b4 & 0x1F];
736 chars[4] = (char)Base32Char[b5 & 0x1F];
737 chars[5] = (char)Base32Char[((b & 0xE0) >> 5) | ((b4 & 0x60) >> 2)];
738 chars[6] = (char)Base32Char[((b2 & 0xE0) >> 5) | ((b5 & 0x60) >> 2)];
739 b3 >>= 5;
740 if ((b4 & 0x80u) != 0)
741 {
742 b3 = (byte)(b3 | 8u);
743 }
744 if ((b5 & 0x80u) != 0)
745 {
746 b3 = (byte)(b3 | 0x10u);
747 }
748 chars[7] = (char)Base32Char[b3];
749 chars[8] = '.';
750 chars[9] = (char)Base32Char[bytes[5] & 0x1F];
751 chars[10] = (char)Base32Char[bytes[6] & 0x1F];
752 }
static ReadOnlySpan< byte > Base32Char
Definition Path.cs:82

References System.IO.Path.Base32Char, System.bytes, and System.chars.

Referenced by System.IO.Path.GetRandomFileName().