Table of Contents

Class EncodingDetector

Namespace
Apq.Cfg.EncodingSupport
Assembly
Apq.Cfg.dll

增强的编码检测器,支持 BOM 优先检测、缓存、日志和自定义映射

public sealed class EncodingDetector
Inheritance
EncodingDetector
Inherited Members

Constructors

EncodingDetector()

public EncodingDetector()

Fields

DefaultWriteEncoding

默认写入编码(UTF-8 无 BOM)

public static readonly Encoding DefaultWriteEncoding

Field Value

Encoding

Properties

Default

全局默认实例

public static EncodingDetector Default { get; }

Property Value

EncodingDetector

DefaultOptions

默认编码选项

public EncodingOptions DefaultOptions { get; set; }

Property Value

EncodingOptions

MappingConfig

编码映射配置

public EncodingMappingConfig MappingConfig { get; }

Property Value

EncodingMappingConfig

Methods

ClearCache()

清除所有缓存

public void ClearCache()

Detect(string, EncodingOptions?)

检测文件编码(用于读取)

public EncodingDetectionResult Detect(string filePath, EncodingOptions? options = null)

Parameters

filePath string

文件路径

options EncodingOptions

编码选项(可选)

Returns

EncodingDetectionResult

编码检测结果

GetStats()

获取统计信息

public (int CacheCount, int ReadMappingCount, int WriteMappingCount) GetStats()

Returns

(int CacheCount, int ReadMappingCount, int WriteMappingCount)

GetWriteEncoding(string)

获取文件的写入编码

public Encoding GetWriteEncoding(string filePath)

Parameters

filePath string

文件路径

Returns

Encoding

写入编码(如果没有匹配的映射则返回 UTF-8 无 BOM)

InvalidateCache(string)

清除指定文件的缓存

public void InvalidateCache(string filePath)

Parameters

filePath string

Events

OnEncodingDetected

编码检测日志事件

public event Action<EncodingDetectionResult>? OnEncodingDetected

Event Type

Action<EncodingDetectionResult>