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

◆ GetEncodings() [2/2]

static unsafe EncodingInfo[] System.Text.BaseCodePageEncoding.GetEncodings ( CodePagesEncodingProvider provider)
inlinestaticpackageinherited

Definition at line 341 of file BaseCodePageEncoding.cs.

342 {
344 {
346 int codePageCount;
347 fixed (byte* ptr = &s_codePagesDataHeader[0])
348 {
349 CodePageDataFileHeader* ptr2 = (CodePageDataFileHeader*)ptr;
350 codePageCount = ptr2->CodePageCount;
351 }
352 EncodingInfo[] array = new EncodingInfo[codePageCount];
353 CodePageIndex codePageIndex = default(CodePageIndex);
354 Span<byte> codePageIndex2 = new Span<byte>(&codePageIndex, Unsafe.SizeOf<CodePageIndex>());
355 for (int i = 0; i < codePageCount; i++)
356 {
358 string text = codePageIndex.CodePage switch
359 {
360 950 => "big5",
361 10002 => "x-mac-chinesetrad",
362 20833 => "x-ebcdic-koreanextended",
363 _ => new string(&codePageIndex.CodePageName),
364 };
365 string localizedEncodingNameResource = EncodingNLS.GetLocalizedEncodingNameResource(codePageIndex.CodePage);
366 string text2 = null;
367 if (localizedEncodingNameResource != null && localizedEncodingNameResource.StartsWith("Globalization_cp_", StringComparison.OrdinalIgnoreCase))
368 {
370 }
371 array[i] = new EncodingInfo(provider, codePageIndex.CodePage, text, text2 ?? text);
372 }
373 return array;
374 }
375 }
static string GetResourceString(string resourceKey)
Definition SR.cs:101
Definition SR.cs:7
static readonly byte[] s_codePagesDataHeader
static unsafe void ReadCodePageIndex(Stream stream, byte[] codePageIndex)
EncodingNLS(int codePage)

References System.array, System.Text.BaseCodePageEncoding.CodePageDataFileHeader.CodePageCount, System.Runtime.Serialization.Dictionary, System.Text.EncodingNLS.GetLocalizedEncodingNameResource(), System.SR.GetResourceString(), System.L, System.Text.BaseCodePageEncoding.ReadCodePageIndex(), System.Text.BaseCodePageEncoding.s_codePagesDataHeader, System.Text.BaseCodePageEncoding.s_codePagesEncodingDataStream, System.Text.BaseCodePageEncoding.s_streamLock, and System.text.

Referenced by System.Text.CodePagesEncodingProvider.GetEncodings().