Jaki jest najprostszy sposób przekonwertować kodowy Unicode na UTF-8 sekwencji bajtów w C? Jedynym sposobem, który przychodzi na myśl, jest użycie iconv
do mapowania ze strony kodowej UTF-32LE do UTF-8, ale to wydaje się przesadą.Najprostszy sposób przekonwertować Unicode kodowy w UTF-8
Odpowiedz
konwersji Unicode nie jest prostym zadaniem. Używanie iconv nie wydaje mi się przesadą. Być może istnieje wersja biblioteki iconv, której możesz użyć, aby uniknąć wywołania system(), jeśli tego właśnie chcesz uniknąć.
Już planowałem korzystać z biblioteki. –
W tym kierunku to niezwykle proste zadanie. Żadna biblioteka nie jest potrzebna. Ponadto 'iconv' odnosi się zarówno do interfejsu C, jak i programu narzędziowego w POSIX. Podejrzewam, że OP mówił o interfejsie C, co byłoby bardzo dobrym rozwiązaniem, ale samo napisanie go też nie jest trudne. Jest to drugi kierunek (UTF-8 do współrzędnych kodowych), który łatwo zepsuć. –
UTF-8 działa na zasadzie kodowania długość kodowanego kodowy do najwyższych bitów zakodowanych bajtów. zobacz http://en.wikipedia.org/wiki/UTF-8#Description
Znalazłem tę małą funkcję w C tutaj http://www.deanlee.cn/programming/convert-unicode-to-utf8/, nie przetestowałem tego chociaż.
Należy zauważyć, że ten kod obsługuje tylko punkty kodowe pod 0x10000 (ponieważ wchar_t w systemie Windows to tak naprawdę UTF-16). –
Link do kodu w maszynie powrotnej: http://web.archive.org/web/20100305210636/http://www.deanlee.cn/programming/convert-unicode-to-utf8/ – Eloff
Czy mogę zasugerować ICU? Jest to rozsądny "standardowy w branży" sposób radzenia sobie z problemami i18n.
Nie używałem wersji c sobie, ale podejrzewam ucnv_fromUnicode może być funkcja jesteś po.
Nie zamierzam wprowadzić zależności na nowym zestawie bibliotek nie dostarczonych przez system tylko dla tego zadania. Dzięki za sugestię. –
- 1. najprostszy sposób przekonwertować macierz jednym rzędzie wektora
- 2. Przetłumacz kod kodowy Unicode (UTF-8) na bajty
- 3. Jak przekonwertować kodowanie Mysql utf8 do utf8mb4 w projekcie Railsy
- 4. Jak przekonwertować "u00e9" na utf8 char, w mysql lub php?
- 5. Jak przekonwertować ciąg znaków UTF8 na tablicę bajtów?
- 6. Najprostszy sposób sprawdzania numerów
- 7. Jak przekonwertować ciąg znaków na UTF8 w Ruby
- 8. W jaki sposób Unicode jest wewnętrznie reprezentowany w Pythonie?
- 9. Jak przekonwertować znak Unicode 00B0 (znak stopnia)?
- 10. Unicode do UTF8 dla plików CSV - Python przez xlrd
- 11. przekonwertować ciąg Unicode zbiegłego ciąg znaków ASCII
- 12. Jak przekonwertować znak na pełną nazwę Unicode?
- 13. Najprostszy sposób na pobranie pliku?
- 14. Odśwież elementy ComboBox, najprostszy sposób
- 15. Najprostszy sposób analizowania JSON w Qt 4.7
- 16. Najprostszy sposób na wymuszenie awarii w Swift
- 17. Najprostszy sposób do kwerendy XML w Javie
- 18. Jak przekonwertować plik * .txt na Unicode
- 19. Jak przekonwertować ciąg znaków na znak Unicode?
- 20. W Pythonie, w jaki sposób przekonwertować listę elementów i ciągów znaków na kod Unicode?
- 21. Jak przekonwertować ciąg znaków w Unicode w android
- 22. Jak przekonwertować kodowanie UTF-8 do Unicode w Javie?
- 23. Czy istnieje sposób konwersji z UTF8 na iso-8859-1?
- 24. W jaki sposób znak Unicode jest mapowany na glif w czcionce?
- 25. Najprostszy sposób na cykliczny iterator (cyrkulator)?
- 26. Najprostszy sposób na zapisanie NSData do pliku
- 27. Czy istnieje najprostszy sposób budowania pakietu perla?
- 28. Najprostszy sposób utworzenia związku z dwóch list
- 29. jak mogę przekonwertować ciąg znaków Unicode na ASCII w java
- 30. Najprostszy sposób testowania kodu jednostkowego z Pythonem
skończyło się dzieje z iconv tak. To może wydawać się przesadą, ale wydaje się też jedynym realnym rozwiązaniem bez wprowadzania zewnętrznych zależności. –
Dlaczego więc nie przyjąć odpowiedzi @ JesperE i nie przegłosować jej. – tvanfosson
Myślałem, że "już nie istotne" jest używane, gdy błąd w produkcie jest naprawiony, lub lepsze narzędzie zostało wprowadzone, a nie gdy pytający nie jest już zainteresowany odpowiedzią ... –