Wie konvertieren von unicode nach ASCII
Gibt es eine Möglichkeit zur Konvertierung von unicode-Werten zu ASCII?
InformationsquelleAutor Hanny | 2010-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine Möglichkeit zur Konvertierung von unicode-Werten zu ASCII?
InformationsquelleAutor Hanny | 2010-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfach Streifen die Akzente von unicode-Zeichen, die Sie verwenden können, so etwas wie:
InformationsquelleAutor 79E09796
Diese Problemumgehung kann Ihren Bedürfnissen besser entspricht. Es Streifen die unicode-Zeichen aus einem string und verfolgt nur die ASCII-chars.
Bitte beachten Sie, dass das 2. "Raum" in der Zeichen-input-string ist der char mit dem ASCII-Wert 255
InformationsquelleAutor Rednael
Technisch, ja, Sie können mithilfe
Encoding.ASCII
.Beispiel (aus byte[] ASCII):
Nur daran erinnern, Unicode-einen viel größeren standard als Ascii-und es gibt Zeichen, die einfach nicht richtig codiert ist. Schau mal hier für Tabellen und ein wenig mehr Informationen über die zwei Kodierungen.
"W␀h␀a␀t␀e␀v␀e␀r␀ ␀u␀n␀i␀c␀o␀d␀e␀ ␀s␀t␀r␀i␀n␀g␀ ␀y␀o␀u␀ ␀h␀a␀v␀e␀"
(mit der ␀ control-Bild für die ASCII-NUL).Sie sah das Ende Absatz richtig? 😉
Ja, habe ich. Sie kann immer noch nicht nehmen Sie einfach eine Codierung der bytes und Lesen Sie Sie als eine andere Codierung! Das ist, was macht das "W" → "W␀". Wenn es nicht funktioniert, für ein W, es ist nicht ein problem der Zeichen-Unterstützung (ASCII ist ein W). Versuchen Sie diesen Ansatz in die andere Richtung (im ASCII-Format → UTF-16) und du wirst sehen was ich meine.
InformationsquelleAutor Kyle Rozendo
Gut, zu sehen, wie es rund 100.000+ unicode-Zeichen und nur 128 ASCII-Zeichen, eine 1-1 Zuordnung ist offensichtlich unmöglich.
Können Sie die
Encoding.ASCII
- Objekts, um die ASCII-byte-Werte aus einem Unicode-string, aber.InformationsquelleAutor Dean Harding
KÖNNEN Sie NICHT konvertieren von Unicode nach ASCII. Fast alle Zeichen, die in Unicode nicht ausgedrückt werden kann im ASCII -, und diejenigen, die kann ausgedrückt werden, haben genau die gleichen codepoints in ASCII in UTF-8, das ist wahrscheinlich das, was Sie haben. Fast das einzige, was Sie tun können, ist auch in der Nähe die richtige ist, verwerfen alle Zeichen oben codepoint 128 und selbst das ist sehr wahrscheinlich bei weitem nicht, was Ihre Anforderungen sagen. (Die andere Möglichkeit ist, zu vereinfachen oder akzentuiert umlauted Buchstaben um mehr als 128 Zeichen 'fast' ausdrückbar ist, aber das noch nicht einmal ansatzweise wirklich decken Unicode.)
InformationsquelleAutor Kilian Foth