internal unsafe static int GetCodePageByteSize(int codePage) { BaseCodePageEncoding.CodePageHeader *ptr = BaseCodePageEncoding.FindCodePage(codePage); if (ptr == null) { return(0); } return((int)ptr->ByteCount); }
internal static unsafe int GetCodePageByteSize(int codePage) { BaseCodePageEncoding.CodePageHeader *codePage1 = BaseCodePageEncoding.FindCodePage(codePage); if ((IntPtr)codePage1 == IntPtr.Zero) { return(0); } return((int)codePage1->ByteCount); }
private unsafe void LoadCodePageTables() { BaseCodePageEncoding.CodePageHeader *codePage = BaseCodePageEncoding.FindCodePage(this.dataTableCodePage); if ((IntPtr)codePage == IntPtr.Zero) { throw new NotSupportedException(Environment.GetResourceString("NotSupported_NoCodepageData", (object)this.CodePage)); } this.pCodePage = codePage; this.LoadManagedCodePage(); }
private unsafe void LoadCodePageTables() { BaseCodePageEncoding.CodePageHeader *ptr = BaseCodePageEncoding.FindCodePage(this.dataTableCodePage); if (ptr == null) { throw new NotSupportedException(Environment.GetResourceString("NotSupported_NoCodepageData", new object[] { this.CodePage })); } this.pCodePage = ptr; this.LoadManagedCodePage(); }
internal InternalDecoderBestFitFallback(BaseCodePageEncoding _encoding) { // Need to load our replacement characters table. encoding = _encoding; }
public override Encoding GetEncoding(int codepage) { if (codepage < 0 || codepage > 65535) { return(null); } if (codepage == 0) { // Retrieve the system default non-unicode code page if possible, or return null, // giving the rest of the EncodingProviders a chance to return a default. int systemDefaultCodePage = SystemDefaultCodePage; return(systemDefaultCodePage != 0 ? GetEncoding(systemDefaultCodePage) : null); } Encoding result = null; _cacheLock.EnterUpgradeableReadLock(); try { if (_encodings.TryGetValue(codepage, out result)) { return(result); } int i = BaseCodePageEncoding.GetCodePageByteSize(codepage); if (i == 1) { result = new SBCSCodePageEncoding(codepage); } else if (i == 2) { result = new DBCSCodePageEncoding(codepage); } else { result = GetEncodingRare(codepage); if (result == null) { return(null); } } _cacheLock.EnterWriteLock(); try { Encoding cachedEncoding; if (_encodings.TryGetValue(codepage, out cachedEncoding)) { return(cachedEncoding); } _encodings.Add(codepage, result); } finally { _cacheLock.ExitWriteLock(); } } finally { _cacheLock.ExitUpgradeableReadLock(); } return(result); }
internal InternalDecoderBestFitFallback(BaseCodePageEncoding _encoding) { // Need to load our replacement characters table. encoding = _encoding; }
public override System.Collections.Generic.IEnumerable <System.Text.EncodingInfo> GetEncodings() => BaseCodePageEncoding.GetEncodings(this);