Class EncodingOptionsExtensions
- Namespace
- Cuemon.Extensions.Text
- Assembly
- Cuemon.Extensions.Text.dll
Extension methods for the IEncodingOptions interface.
public static class EncodingOptionsExtensions
- Inheritance
-
EncodingOptionsExtensions
Examples
The following example demonstrates detecting the Unicode encoding of a byte array or stream using the DetectUnicodeEncoding(IEncodingOptions, byte[]) and DetectUnicodeEncoding(IEncodingOptions, Stream) extension methods.
using System;
using System.IO;
using System.Text;
using Cuemon.Extensions.Text;
using Cuemon.Text;
namespace MyApp.Examples;
public class EncodingOptionsExtensionsExample
{
public static void Main()
{
// Create an EncodingOptions instance with a fallback encoding
var options = new EncodingOptions { Encoding = Encoding.UTF8 };
// Byte array with UTF-8 BOM
byte[] utf8WithBom = { 0xEF, 0xBB, 0xBF, 0x48, 0x65, 0x6C, 0x6C, 0x6F };
// Detect encoding from bytes
Encoding detected = options.DetectUnicodeEncoding(utf8WithBom);
Console.WriteLine($"Detected encoding from bytes: {detected.EncodingName}");
// Stream with UTF-16 LE BOM
using var stream = new MemoryStream();
byte[] utf16Bom = { 0xFF, 0xFE, 0x48, 0x00, 0x65, 0x00, 0x6C, 0x00 };
stream.Write(utf16Bom, 0, utf16Bom.Length);
stream.Position = 0;
Encoding streamEncoding = options.DetectUnicodeEncoding(stream);
Console.WriteLine($"Detected encoding from stream: {streamEncoding.EncodingName}");
// When no BOM is present, the fallback encoding is returned
byte[] noBom = { 0x48, 0x65, 0x6C, 0x6C, 0x6F };
Encoding fallback = options.DetectUnicodeEncoding(noBom);
Console.WriteLine($"Fallback encoding: {fallback.EncodingName}");
}
}
Methods
DetectUnicodeEncoding(IEncodingOptions, byte[])
Tries to detect an Encoding object from the specified bytes.
If unsuccessful, the Encoding value is returned.
public static Encoding DetectUnicodeEncoding(this IEncodingOptions options, byte[] bytes)
Parameters
optionsIEncodingOptionsThe IEncodingOptions to extend.
bytesbyte[]
Returns
- Encoding
Either the detected encoding of
bytesor the encoding of this instance.
DetectUnicodeEncoding(IEncodingOptions, Stream)
Tries to detect an Encoding object from the specified stream.
If unsuccessful, the Encoding value is returned.
public static Encoding DetectUnicodeEncoding(this IEncodingOptions options, Stream stream)
Parameters
optionsIEncodingOptionsThe IEncodingOptions to extend.
streamStream
Returns
- Encoding
Either the detected encoding of
streamor the encoding of this instance.