01/10/2018, 12:15
Kiểm tra 1 kí tự có phải 1 biểu tượng không
Mọi người ơi có cách nào để kiểm tra 1 kí tự bất kì từ 1 bảng mã bất kì có phải là 1 symbol hay ko ạ?
Mình sử dụng qt có method issymbol() của QChar nhưng những kí tự dài đến 3 Byte phải sử dụng QByteArray để chứa thì ko biết xử lý ra sao.
Bài liên quan
bạn phải chuyển kí tự của bạn về encoding như Unicode ấy, lúc đó bạn sẽ có các QChar tương ứng 1 kí tự để test thoải mái. Dữ liệu gốc nó lưu multibyte encoding thì làm sao mà test được.
Chuẩn QChar to nhất là UTF-16.
Bạn có thể nói rõ hơn được ko ạ?
Đầu tiên bạn nói rõ input của bạn nó như thế nào đã.
cái input của mình mình lấy từ 1 symbol ở word ra, đến lúc paste vào QT thì nó hiện lên 1 kí tự khác, nó chính là hình mặt cười ở mục insert symbol trong word. Mình ko biết xử lý ra sao nữa bạn.
Đưa code nào bạn ơi.
giống như việc mình paste vào đây thì nó hiện lên là vậy
Nó giống như việc bị lỗi font chữ ấy bạn, mình copy 1 symbol vào QT và nó hiện lên 1 kí tự khác, chạy lệnh kiểm tra issymbol thì nó ko trả về true.
Không biết bạn copy kiểu gì chứ, mà có khi QtEditor không hiện unicode được (đúng ra luôn luôn được):
Với lại phải là kí tự được Hiệp hội Unicode đặt vào Category Symbol thì method này mới trả true nhé.
B cho mình xin mail mình gửi qua 1 vài biểu tượng và check dùm mình xem có ok ko nhé!
Mình không có sẵn Qt đâu, bạn phải tự check thôi. Lên google gõ “Symbol Character”, tha hồ cho bạn lựa chọn.
kí tự mặt cười kia QT của mình vẫn hiện, nhưng vài kí tự khác của mình lấy ra thả vào nó lại ko hiện lên đúng như vậy được
Bạn copy mấy kí tự đó lên đây được không?
không paste được, @@ nó đây này,
Em không biết nói gì luôn, đó là kí tự của font Wingdings, symbol gì ở đây
Phần dưới hình có character code: 40
Còn emoji thì lên mạng tìm rồi copy paste vào.
paste nó ra “” này, ở trong qt thì nó ra 1 kí tự linh tinh khác
Ặc, nó ko phải symbol à @@
Lên đây lấy về này http://www.copypastecharacter.com/symbols
Font Wingding thì nó không theo chuẩn Unicode, cũng như awesome font không theo chuẩn unicode. Trong những font đấy, chữ a cũng có thể có hình dáng hoàn toàn khác để phục vụ hiển thị và in ấn.
Ra là vậy, hi, cảm ơn b nhiều nhé
Bạn ơi cho mình hỏi, giờ mình sử dụng QByteArray để nhập vào 1 chữ cái tượng hình ( nhật hoặc hàn quốc, trung quốc…) thì có cách nào để tìm ra chữ cái tiếp theo của nó ko nhỉ?
Mấy tiếng đó làm j có “chữ cái (?!) tiếp theo” chỉ có code point tiếp theo thôi.