Wie kann ich einen Unicode in ANSI konvertieren?Unicode zu ANSI
Beispiel habe ich folgende Unicode-Benutzername:
очередной
und ich nenne dieses Import-Methode:
[DllImport("kernel32.dll", EntryPoint = "GetTempPathA")]
public static extern uint GetTempPath(uint nBufferLength, [Out()]
System.Text.StringBuilder lpBuffer);
ich folgendes Ergebnis erhalten:
C:\Users\A690~1\AppData\Local\Temp\
jetzt habe ich versuchte mehrere codierende Sachen wie:
Encoding.ASCII.GetString(Encoding.Unicode.GetBytes(Environment.UserName));
Encoding.GetEncoding(1250).GetString(Encoding.Unicode.GetBytes(Environment.UserName));
Encoding.GetEncoding(1251).GetString(Encoding.Unicode.GetBytes(Environment.UserName));
aber keiner von ihnen gab mir das gleiche Ergebnis wie die Importmethode. Wie kann ich eine Unicode-Zeichenkette richtig in ANSI konvertieren, so dass es mir das gleiche Ergebnis wie die Importmethode gibt?
Ihre Importmethode konvertiert nichts, sie gibt den Pfad zum temporären Verzeichnis Ihrer Benutzer zurück. https://msdn.microsoft.com/en-US/library/windows/desktop/aa364992(v=vs.85).aspx –
Meine Frage war, wie kann ich die Zeichenfolge 'очередной' konvertieren, um 'A690 ~ 1' zu erhalten – user7436839