Konvertálása kétbájtos karakterek php - verem túlcsordulás az orosz

Kérem, mondja, hogyan kell lefordítani kétbájtos karaktereket egy kódolási másik, azaz Az utf-8 cp1251 a php. Ie mondjuk szeretnék átalakítani a levél „g” utf-8 cp1251. Tudomásul veszem, hogy kap két karakter [syntax = php] P [/ szintaxis] és [syntax = php] i [/ szintaxis], azaz két bájt, de nekem most, mint én hozzá őket, vagy hogy egy tizedes, majd, hogy minden olyan intézkedés, például kivonni 848, hogy ugyanazt a szobában cp1251 rendszer

Érdeklődöm az az út, nem üzemképes

meghatározott február 6. '13 at 13:06

Utf-8 karakter kell fordítani az UCS kódok és azokat (amennyiben lehetséges) a cp1251. Természetesen nem minden UCS (pl: latin-1, karakter grafika, karakterek, stb) lehet alakítani cp1251.

Hogyan lehet átalakítani utf-8 UCS.

Nézd első (jel) bit byte utf-8. Ha ez 0, akkor UCS kód megegyezik az értéke ez a bájt (ez ASCII).

Ha az első két bit értéke 10 vagy érték 0xff byte vagy 0xfe, ez egy hiba utf-8.

Most elemezze a nagy értékű bit byte. Kiválasztjuk több 1, majd a 0. byte-ok száma megegyezik az egyesek száma UTF-8 kódolású UCS. A maradék a byte egy magas helyiértékű bit a kódolt UCS. Így minden byte követi ezt a szimbólumot kell kezdődnie 10, és a maradék 6 bitet kódolni, egy másik része ucs.

Minden cirill kódolt 2-bájtos utf-8. Például, Orosz A (UCS kód 0x410) UTF-8 2 bájt 0xd0 0x90

Egy másik példa a szimbólum száma

Tény, hogy gyorsabban írni egy programot (I könnyebben C, de érdekli a PCP), mint elmagyarázni, orosz szavakat.

A 2-bájtos str [], érkezett az első 5 bit b1, b2 és 6

vagy ha nem PCP bites műveleteket (remélhetőleg való osztás maradéka van), majd a

Kapcsolódó cikkek