2012-10-20 34 views
5

thể trùng lặp:
How to get code point number for a given character in a utf-8 string?Sử dụng PHP để tìm unicode của một nhân vật

Tôi có một mẫu mã trong javascript:

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

này trả 72

Làm cách nào để tôi thực hiện điều này trong PHP?

+2

Uhhhmmm 72 là unicode? – PeeHaa

+1

'var_dump (ord ('H'));' Không unicode theo yêu cầu, nhưng tôi không chắc chắn bạn biết những gì unicode có nghĩa là;) – PeeHaa

+0

Bạn có nghĩa là [code point] (http://en.wikipedia.org/wiki/Code_point)? – Gumbo

Trả lời

1

Tương đương của các bên trên sẽ là

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

Tôi không nghĩ rằng nó hoạt động với unicode, hãy thử: '$ str =" 學 "; $ n = ord ($ str [0]); ' – AndreKR

5

ASCII

Điều này sẽ giúp:

//Code to Character 
echo chr(65); 

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

Unicode

Nhưng kể từ khi các func việc tion cho 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

Để có unicode biết bạn nên thử cái này (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

Kiểm tra this contributed note trong các tài liệu ở đây:

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

có một chức năng mà trả về giá trị UTF-8, đó là những gì tôi giả sử bạn muốn.

+0

@AndreKR Ah, cảm ơn! Chỉ cần xem qua HTML của trang để tìm neo nhưng bạn đã đánh tôi với nó :-D –

+1

'charCodeAt' của JavaScript dường như trả lại giá trị UTF-16, ít nhất là trên Chrome. –

Các vấn đề liên quan