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

◆ GetCodePageDataItem()

static CodePageDataItem System.Text.EncodingTable.GetCodePageDataItem ( int codePage)
inlinestaticpackage

Definition at line 133 of file EncodingTable.cs.

134 {
135 if (s_codePageToCodePageData == null)
136 {
137 Interlocked.CompareExchange(ref s_codePageToCodePageData, new CodePageDataItem[s_mappedCodePages.Length], null);
138 }
139 int num;
140 switch (codePage)
141 {
142 case 1200:
143 num = 0;
144 break;
145 case 1201:
146 num = 1;
147 break;
148 case 12000:
149 num = 2;
150 break;
151 case 12001:
152 num = 3;
153 break;
154 case 20127:
155 num = 4;
156 break;
157 case 28591:
158 num = 5;
159 break;
160 case 65000:
161 num = 6;
162 break;
163 case 65001:
164 num = 7;
165 break;
166 default:
167 return null;
168 }
169 CodePageDataItem codePageDataItem = s_codePageToCodePageData[num];
170 if (codePageDataItem == null)
171 {
174 }
175 return codePageDataItem;
176 }
static CodePageDataItem[] s_codePageToCodePageData
static readonly ushort[] s_mappedCodePages
static CodePageDataItem InternalGetCodePageDataItem(int codePage, int index)
static int CompareExchange(ref int location1, int value, int comparand)

References System.Threading.Interlocked.CompareExchange(), System.Text.EncodingTable.InternalGetCodePageDataItem(), System.Text.EncodingTable.s_codePageToCodePageData, and System.Text.EncodingTable.s_mappedCodePages.

Referenced by System.Text.Encoding.GetDataItem().