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
Properties
Default
全局默认实例
public static EncodingDetector Default { get; }
Property Value
DefaultOptions
默认编码选项
public EncodingOptions DefaultOptions { get; set; }
Property Value
MappingConfig
编码映射配置
public EncodingMappingConfig MappingConfig { get; }
Property Value
Methods
ClearCache()
清除所有缓存
public void ClearCache()
Detect(string, EncodingOptions?)
检测文件编码(用于读取)
public EncodingDetectionResult Detect(string filePath, EncodingOptions? options = null)
Parameters
filePathstring文件路径
optionsEncodingOptions编码选项(可选)
Returns
- EncodingDetectionResult
编码检测结果
GetStats()
获取统计信息
public (int CacheCount, int ReadMappingCount, int WriteMappingCount) GetStats()
Returns
GetWriteEncoding(string)
获取文件的写入编码
public Encoding GetWriteEncoding(string filePath)
Parameters
filePathstring文件路径
Returns
- Encoding
写入编码(如果没有匹配的映射则返回 UTF-8 无 BOM)
InvalidateCache(string)
清除指定文件的缓存
public void InvalidateCache(string filePath)
Parameters
filePathstring
Events
OnEncodingDetected
编码检测日志事件
public event Action<EncodingDetectionResult>? OnEncodingDetected