Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,900 questions

51,831 answers

573 users

How to check if an array of bytes is a valid UTF-8 string in C#

1 Answer

0 votes
using System;
using System.Text;

public class Program
{
    static bool IsValidUTF8(byte[] s) {
        var encoding = new UTF8Encoding(false, true);
        
        try {
            encoding.GetCharCount(s);
        }
        catch (DecoderFallbackException) {
            return false;
        }
            
        return true;
    }
        
    public static void Main(string[] args)
    {
        byte[] arr1 = Encoding.UTF8.GetBytes("Hello, 世界");
        byte[] arr2 = { 0xa3, 0xed, 0xfd };

        Console.WriteLine(IsValidUTF8(arr1));
        Console.WriteLine(IsValidUTF8(arr2));
    }
}


/*
run:

True
False

*/

 



answered Jul 8, 2025 by avibootz
...