Làm thế nào để bạn tìm thấy giá trị unicode của một nhân vật trong Julia?


13

Tôi đang tìm kiếm một cái gì đó giống như Python ord(char)cho Julia trả về một số nguyên.


14
@Asadefa Được rồi, nhưng câu hỏi đó đã được hỏi, trả lời và lưu trữ nhiều lần đối với các ngôn ngữ cũ hơn, phổ biến hơn. Đây là Julia (8ys cũ), không phải C (48y) hay C ++ (35y). Tôi đang gặp khó khăn để hiểu tại sao bình luận này được đăng.
Xevion

Câu trả lời:


14

Tôi nghĩ rằng bạn đang tìm kiếm codepoint. Từ tài liệu:

codepoint(c::AbstractChar) -> Integer

Trả về bảng mã Unicode (một số nguyên không dấu) tương ứng với ký tự c(hoặc ném ngoại lệ nếu c không đại diện cho một ký tự hợp lệ). Đối với Char, đây là một UInt32giá trị, nhưng AbstractCharcác loại chỉ đại diện cho một tập hợp con Unicode có thể trả về một số nguyên có kích thước khác nhau (ví dụ UInt8).

Ví dụ:

julia> codepoint('a')
0x00000061

Để có được hàm tương đương chính xác của ordhàm Python , bạn có thể muốn chuyển đổi kết quả thành số nguyên đã ký:

julia> Int(codepoint('a'))
97

6

Bạn cũng có thể làm:

julia> Int('a')
97

Nếu bạn có Chuỗi:

julia> s="hello";

julia> Int(s[1])
104

julia> Int(s[2])
101

julia> Int(s[5])
111

Thêm chi tiết tại đây .


Chỉ cần chỉ ra rằng Int('a')đề xuất ở đây là chính xác tương đương Int(codepoint('a')), và cũng ngắn hơn.
giordano
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.