Nie wydaje mi się, aby zrozumieć cel XMLString::transcode(XMLCh*)
i XMLString::transcode(char*)
, ponieważ oczywiście nie rozumiem różnicy między XMLCh*
i char*
. Czy ktoś może sprawić, że sprawy staną się jaśniejsze?Cel XMLString :: transkodowanie
Odpowiedz
Xerces wewnętrznie koduje informacje jako UTF-16. Dane UTF-16 są przechowywane przy użyciu typu danych XMLCh
.
Łańcuchy w stylu C używają nazwy char
, która znajduje się na lokalnej stronie kodowej (prawdopodobnie w formacie UTF-8, ale zależy to od platformy i ustawień). Do konwersji między tymi dwoma używa się transcode
.
Na przykład, jeśli chcesz przekazać dane z Xerces do innej biblioteki i ta biblioteka oczekuje na tekst na lokalnej stronie kodowej, musisz to zrobić pod transcode
. Ponadto, jeśli masz dane w formacie char
i chcesz je przesłać do Xerces, musisz transcode
je do XMLCh
, ponieważ to właśnie rozumie Xerces.
Na przykład:
// to local code page
DOMNode *node = ...;
char* temp = XMLString::transcode(node->getNodeValue());
std::string value(temp);
XMLString::release(&temp);
// from local code page
DOMElement *element = ...;
XMLCh *tag = XMLString::transcode("test");
DOMNodeList *list = element->getElementsByTagName(tag);
XMLString::release(&tag);
Nie zapomnij zwolnić ciąg! Lepiej jest napisać wokół niego opakowanie, ale dostępne są w Internecie examples (wystarczy wyszukać klasę o nazwie XercesString
).
Jeśli chcesz wiedzieć więcej na temat kodowania Myślę, że powinieneś przeczytać The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
- 1. transkodowanie oraz segment z ffmpeg
- 2. Jaki jest najlepszy sposób na transkodowanie wideo w układzie c-cel (iOS)?
- 3. Transkodowanie pliku audio/wideo/obrazu w urządzeniu z Androidem
- 4. Cel iOS Cel: wyświetlanie dokumentu RTF
- 5. Cel ThreadLocal?
- 6. Jaka jest różnica między C++, cel-c i cel-C++?
- 7. jak zadzwonić mrówkę cel kiedy nadrzędny cel w pliku dziecięcej
- 8. Konwertuj cel statycznej biblioteki na cel szkieletowy w projekcie Xcode.
- 9. Jaki jest cel preompompiledApp.config?
- 10. Jaki jest cel używania?
- 11. Cel warstwy usługi
- 12. Cel osłon nagłówka
- 13. Sprawdź inf - cel c
- 14. Jaki jest cel Rake?
- 15. Jaki jest cel JNDI
- 16. Cel @relay (wzór: true)
- 17. Jaki jest cel Mage_Core_Block_Template_Facade
- 18. Cel c - Wcięcie tekstu
- 19. Jaki jest cel IApplicationBuilder.New()
- 20. Jaki jest cel "() =>"
- 21. Cel transakcji zagnieżdżonych
- 22. Jaki jest cel curdoc()?
- 23. Antlr4 Cel C++
- 24. Domyślnie: cel z CSS
- 25. Jaki jest cel aclocal?
- 26. Cel C: Wykrywanie poruszenia
- 27. Java clipboardOwner Cel?
- 28. Jaki jest cel vertexAttribPointer?
- 29. Jaki jest cel IAsyncStateMachine.SetStateMachine?
- 30. Jaki jest cel Ember.Container
dzięki, że był bardzo pomocny! – Glolita
Dodanie kilku wierszy kodu jako przykładu bardzo pomoże innym czytelnikom takim jak ja! – Jaywalker