0Pricing
C# Academy · Lezione

char, nozioni di base su Unicode, parsing e formattazione semplici

Comprenda char (unità di codice UTF-16), le coppie surrogate per alcuni caratteri, le basi della codifica/decodifica UTF-8 e il parsing/la formattazione semplici dei numeri.

char, nozioni di base su Unicode, parsing e formattazione semplici è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 3 lezioni in totale.

Panoramica

Obiettivo: gestire il testo a basso livello in modo sicuro.

  • char è UTF-16
  • Alcuni simboli utilizzano coppie surrogate
  • Codificare e decodificare con UTF-8
  • Eseguire il parsing e formattare i numeri

Nozioni di base su char

char è un'unità di codice UTF-16 a 16 bit; è possibile esaminare helper di categoria come char.IsLetter.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    char ch = 'A';
    Console.WriteLine("ch = " + ch);
    Console.WriteLine("UTF-16 code unit = " + (int)ch); // 65
    Console.WriteLine("IsLetter? " + char.IsLetter(ch));
    Console.WriteLine("ToLower = " + char.ToLower(ch));
  }
}

Coppie surrogate

Alcuni caratteri richiedono due unità di codice UTF-16, ovvero una coppia surrogate. La lunghezza conta le unità di codice, non i caratteri percepiti dall'utente.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    // Smiling face U+1F603 represented as a surrogate pair in UTF-16
    string s = "\uD83D\uDE03";
    Console.WriteLine("Text: " + s);
    Console.WriteLine("Length (chars) = " + s.Length); // 2
    Console.WriteLine("First char high surrogate? " + char.IsHighSurrogate(s[0]));
    Console.WriteLine("Second char low surrogate? " + char.IsLowSurrogate(s[1]));
  }
}

Conversione UTF-8 andata e ritorno

Utilizzare System.Text.Encoding.UTF8 per convertire stringhe e byte per l'archiviazione o l'I/O.

using System;
using System.Text;

public class Program
{
  public static void Main(string[] args)
  {
    string text = "Café ☕"; // includes an accent + emoji
    byte[] bytes = Encoding.UTF8.GetBytes(text);   // encode to UTF-8
    string back = Encoding.UTF8.GetString(bytes);  // decode
    Console.WriteLine("Original: " + text);
    Console.WriteLine("Bytes UTF-8 = " + bytes.Length);
    Console.WriteLine("Roundtrip: " + back);
  }
}

Parse e formattazione

Eseguire il Parse tenendo conto della cultura; utilizzare TryParse per evitare eccezioni. ToString formatta i valori, ad esempio N2 e C.

using System;
using System.Globalization;

public class Program
{
  public static void Main(string[] args)
  {
    // Parsing (safe)
    int n;
    bool ok = int.TryParse("123", out n);
    Console.WriteLine("ok=" + ok + " n=" + n);

    // Parsing (throws if invalid)
    try
    {
      double d = double.Parse("3.14", CultureInfo.InvariantCulture);
      Console.WriteLine("d=" + d);
    }
    catch (Exception ex)
    {
      Console.WriteLine("Parse error: " + ex.Message);
    }

    // Formatting
    double price = 1234.5;
    Console.WriteLine(price.ToString("N2", CultureInfo.InvariantCulture)); // 1,234.50
    Console.WriteLine(price.ToString("C", CultureInfo.GetCultureInfo("en-US"))); // currency example
  }
}

Rimuovere spazi e dividere

Utilizzare Trim per rimuovere gli spazi bianchi e Split per tokenizzare; rimuovere sempre gli spazi dai token per ottenere risultati puliti.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    string input = "  apple, banana ,  cherry ";
    string trimmed = input.Trim();
    string[] parts = trimmed.Split(',');

    for (int i = 0; i < parts.Length; i = i + 1)
    {
      string item = parts[i].Trim(); // clean each token
      Console.WriteLine("Item: " + item);
    }
  }
}

Definizione di char

Verifica rapida: in C#, che cosa rappresenta un char?

Riepilogo

Riepilogo: char = unità di codice UTF-16; le emoji possono essere coppie surrogate. Codificare con UTF-8 per ottenere byte. Eseguire il parsing in sicurezza con TryParse e formattare con i modelli di ToString.

Domande Frequenti

La lezione «char, nozioni di base su Unicode, parsing e formattazione semplici» è gratuita?

Sì — il testo completo di «char, nozioni di base su Unicode, parsing e formattazione semplici» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 3 lezioni in totale.

Cosa imparerò in «char, nozioni di base su Unicode, parsing e formattazione semplici»?

Comprenda char (unità di codice UTF-16), le coppie surrogate per alcuni caratteri, le basi della codifica/decodifica UTF-8 e il parsing/la formattazione semplici dei numeri. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C# Academy?

Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.

Quanto tempo richiede la lezione «char, nozioni di base su Unicode, parsing e formattazione semplici»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C# Academy?

Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Stringhe e testo: immutabilità, interpolazione, verbatim, StringBuilder e confronto
  2. StringBuilder, confronto e note sulla cultura
  3. char, nozioni di base su Unicode, parsing e formattazione semplici
← Torna a C# Academy