К счастью, это не , как это работает. Пока вы манипулируете текстом в .NET-программе, включая свойство TextBox.Text, существует только кодировка one , UTF-16. Когда вам нужно работать с внешним миром, будь то файл или функция P / Invoked, , а затем вам необходимо конвертировать между Shift-Jis и UTF-16. Что довольно просто:
var enc = Encoding.GetEncoding("shift-jis");
var value = enc.GetBytes("hello world");
Передайте значение "value" любому коду, которому требуется закодированное значение Shift-JIS. Убедитесь, что это не TextBox, он не знает, как отображать байты, он знает только UTF-16.