2012-10-20 15 views
5

Powiel możliwe:
How to get code point number for a given character in a utf-8 string?Używanie PHP znaleźć Unicode znaku

Mam przykładowy kod w JavaScript:

var str = "HELLO WORLD"; 
var n = str.charCodeAt(0); 

ta zwraca 72

Jak to zrobić zrobić to w PHP?

+2

Uhhhmmm 72 to unikod? – PeeHaa

+1

'var_dump (ord ('H'));' Nie unicode na żądanie, ale nie jestem pewien czy wiesz co oznacza unicode;) – PeeHaa

+0

Masz na myśli [punkt kodu] (http://en.wikipedia.org/wiki/Code_point)? – Gumbo

Odpowiedz

1

Odpowiednik powyższego byłoby

$str = "HELLO WORLD"; 
$n = ord($str[0]); 
+3

Nie sądzę, że działa na kodowanie Unicode, spróbuj:' $ str = "學"; $ n = ord ($ str [0]); ' – AndreKR

5

ASCII

Pomoże:

//Code to Character 
echo chr(65); 

//Character to Code 
echo ord('A'); 

Unicode

Ale od tych func praca cja dla ASCII, Unicode:

function uniord($u) { 
    $k = mb_convert_encoding($u, 'UCS-2LE', 'UTF-8'); 
    $k1 = ord(substr($k, 0, 1)); 
    $k2 = ord(substr($k, 1, 1)); 
    return $k2 * 256 + $k1; 
} 

echo uniord('ب'); 
0

Być unicode świadomy powinien spróbować tego jeden (http://us.php.net/manual/en/function.ord.php)

function uniord($u) { 
    $k = mb_convert_encoding($u, 'UCS-2LE', 'UTF-8'); 
    $k1 = ord(substr($k, 0, 1)); 
    $k2 = ord(substr($k, 1, 1)); 
    return $k2 * 256 + $k1; 
} 
5

Sprawdź this contributed note tu docs:

http://www.php.net/manual/en/function.ord.php

jest to funkcja, która zwraca wartość UTF-8, który jest co zakładam chcesz.

+0

@AndreKR Ah, dzięki! Właśnie przeglądałem kod HTML strony, aby znaleźć zakotwiczenie, ale mnie do tego przekonałeś :-D –

+1

"charCodeAt" JavaScript zwraca wartość UTF-16, przynajmniej w Chrome. –

Powiązane problemy