Protocolli di rete. Sono quasi sempre definiti in ASCII a 7 bit. Suppongo che cada sotto "sistemi legacy".
Se ti fa sentire meglio, immagina che i comandi HELO, EHLO, DATA di SMTP siano binari. Hanno una lunghezza di 4 caratteri per un motivo.
HTTP GET e l'URL e tutte le intestazioni HTTP sono anche in ASCII.
DNS è sicuramente ASCII.
Quasi tutti i protocolli di rete sono implementati prima in C e destinati a un'elaborazione molto veloce. I motivi tecnici per evitare Unicode qui sono che i processi di comunicazione sono in realtà solo lo scambio di dati binari non elaborati. Le "parole" nel protocollo servono solo a renderlo leggibile per le persone con uno sniffer di rete e in modo che le persone possano eseguire test di base usando telnet o netcat.
In queste situazioni la conversione Unicode è quasi sempre una perdita di tempo.
Praticamente l'unico posto in cui posso pensare che Unicode sarebbe utile per qualcosa come server web e proxy è una regola di riscrittura insensibile alle maiuscole e minuscole. Le regole sensibili al maiuscolo / minuscolo non contano perché UTF-8 corrisponde perfettamente senza decodifica.
Personalmente, non credo nell'elaborazione senza distinzione tra maiuscole e minuscole nei server di rete o nei file system. Se la richiesta non riesce a trovare una risorsa, rimbalzarla su uno script di gestore degli errori e può gingillarsi cercando di indovinare a cosa l'utente era veramente dopo. Ciò mantiene le cose veloci e molto semplici nel caso comune.
Vorrei chiedere "Definiresti un nuovo protocollo di rete per utilizzare Unicode?" tranne io temo di conoscere la risposta. Vedo persone che scrivono "protocolli" JSON e XML sgradevoli e cattivi tutto il tempo. E chiunque abbia deciso di trasferire dati binari all'interno di XML nella codifica Base64 dovrebbe probabilmente essere girato, disegnato, squartato, annegato e poi seppellito vivo. "Oooh, reti gigabit! Mi limiterò a espandere tutto e rendere impossibile l'uso di zero-copia!" Punti bonus per poi comprimere l'XML per il trasferimento. Gonfiala, comprimila in modo che tu possa disimballarla e rimuoverla. Mentre si eseguono tre copie, alcune delle quali stanno espandendo i dati XML e Base64 in "caratteri larghi" a 32 bit UCS-4. Probabilmente in Java, quindi puoi utilizzare un gig di RAM extra solo perché.