-
Data: 2014-12-11 10:10:06
Temat: Dodawanie BOM do pliku w kodowaniu UTF-7 - jak to zrobić?
Od: s...@o...pl szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Witam
Piszę edytor tekstu i chcę by obsługiwał wszystkie wersje BOM (Byte Order Mark) ze
specyfikacji Unicode. Jednak nie mogę nigdzie znaleść specyfikacji dotyczącej BOM dla
UTF-7. Na unicode.org UTF-7 jest jedynie wzmiankowany w 2 dokumentach pdf i podane są
4 możliwe kombinacje tego BOM. Na wikipedia.org jest nieco więcej i pisze tam, że
przed kodowaniem w base64 do ostatniego bajtu w postaci 001111xx na ostatnich 2
bitach dodaje się pierwsze 2 bity z pierwszego znaku. Problem w tym, że gdy doda się
te 2 bity to nie uzyska się jednej z tych wymienionych 4 wartości czwartego bajtu. A
jeśli się go zakoduje w base64 to wychodzą z tego 2 bajty a nie jeden (jeśli użyję
dla kodowania base64 flagi QByteArray::OmitTrailingEquals co znaczy: Omits adding the
padding equal signs at the end of the encoded data.).
Dla przykładu:
mam plik z taką jedną lnią:
dfassdfas
To po dodaniu 3bajtów stałych i czwartego zakodowanego w base64 bajtu 001111xx gdzie
xx to 2 bity z pierwszego znaku w tekście. Uzyskuję poniższy tekst:
+/vPQdfassdfas
czyli szesnastkowo:
2B 2F 76 50 51 64 66 61 73 73 64 66 61 73
Jak widać zamiast 4 bajtu o dopuszczalnych wartościach 38 39 2B i 2F są 2 bajty 50
51.
Moje pytanie brzmi: Gdzie popełniam błąd?
z góry dzięki za pomoc
Szyk Cech
Następne wpisy z tego wątku
- 11.12.14 21:56 s...@o...pl
- 16.12.14 11:28 firr
Najnowsze wątki z tej grupy
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
Najnowsze wątki
- 2025-04-12 SZAP/USONA: Zarzuty karne przeciwko Fauciemu i spółce
- 2025-04-12 Katowice => Key Account Manager (ERP) <=
- 2025-04-12 Weryfikacja PESEL na listach poparcia kandydata
- 2025-04-12 mój pierwszy miernik grubości lakieru
- 2025-04-12 China-Kraków => Production Coordinator / Representant Product Dev <=
- 2025-04-12 Warszawa => Junior Rekruter <=
- 2025-04-12 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-04-12 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-04-12 Kraków => Backend/Data Engineer (Java, Scala or Python) <=
- 2025-04-12 Kraków => Backend/Data Engineer (Java, Scala lub Python) <=
- 2025-04-12 Kraków => Engineering Manager (Clojure, Java) <=
- 2025-04-12 Re: [Media] Wysoki Sąd wskazał (Mentzenom) jak WŁAŚCIWIE dokopywać kandydatom koalicji tuskiej :-)
- 2025-04-12 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-04-12 Bateria
- 2025-04-12 Warszawa => MENA New Business Manager <=