ヌル終端文字列
Javaの文字列クラスStringはヌル終端でなく、長さ情報を別途保持しているため、内部シーケンス中にヌル文字を直接含むことができるが、エンコードを指定してバイト配列からJava文字列を生成する場合や、Java Native InterfaceでJava文字列をC言語のchar型ヌル終端文字列に変換する場合など、修正UTF-8がエンコードとして使用される。
UTF-16はエンコーディングの単位に2バイト(16ビット)の整数値を使用し、上位バイト/下位バイトの両方あるいはいずれかの値が0になり得るので、1バイト(8ビット)単位のヌル終端文字列に格納することができない。しかし、いくつかの言語あるいはライブラリでは、2バイト整数型を要素とする配列を用いて、16ビットのヌル文字で終端することでUTF-16のヌル終端文字列を実装している。この場合、シングルバイト(8ビット)のヌル文字を想定している従来の文字列操作関数は使用することができず、16ビットのヌル終端文字列専用の関数が必要となる。Microsoft Windowsではワイド文字が2バイト文字型として定義され、ワイド文字の配列をUTF-16のヌル終端文字列として扱う。