Hiển thị text của đoạn mã hex

Liên hệ QC

hq1922010

Thành viên mới
Tham gia
3/10/18
Bài viết
4
Được thích
1
Em xin chào tất cả mọi người,em có vấn đề này mong các bác cao thủ giúp em,em là tân binh mới tập toẹ có gì các bác chỉ giáo.Em có file excel nhưng cột họ tên là dạng Hex như thế này: (4e47c3942056c4824e2043c6afc6a04e47) trong khi đó đáng lẽ phải là NGÔ VĂN CƯỜNG.Có bác nào cao thủ convert giúp em được không ạ.Em xin cảm ơn.(Convert trên excel chứ không phải dùng soft)
 
Bạn tự viết được mà.

Trước hết khái niệm. Mỗi một ký tự trong bảng mã Unicode được gán cho một con số gọi là điểm mã (code point). Hay nói ngắn gọn là mã.
Ví dụ ký tự "a" có mã là bao nhiêu? Trong Excel bạn nhập công thức
Mã:
=CODE("a")
thì sẽ thấy kết quả là 97. Ở dạng hex thì là 61 - trong Delphi viết là $61, trong VBA là &H61

Mỗi một ký tự / chuỗi ký tự có thể được biểu diễn dưới dạng những mã khác nhau. Vd. cùng một chuỗi có thể mã hóa dùng VNI, TCVN3, Windows 1258 (vietnamese), unicode, UTF8 v...v

vd. Lấy chuỗi "NGUYỄN VĂN DƯƠNG"

Nếu ta biểu diễn chuỗi trên ở dạng UTF8, giả sử thành chuỗi str1, và dán vào notepad thì notepad phát hiện ra ngay đó là "NGUYỄN VĂN DƯƠNG" được mã bằng UTF8. Nhưng nếu dán vào ô trong Excel thì là chuỗi "đầu trâu mặt ngựa", tức "khó đọc". Nhưng cái này không quan trọng.

Chuỗi str1 sẽ có một số bai: 4e (= 78 thập phân), 47 (= 71), ...

Và người ta đã ghép các bai 4e, 47, ... để tạo ra chuỗi nhìn thấy ở B2. Tức trong B2 không phải là chuỗi UTF8 str1 mà là chuỗi tạo từ các bai của chuỗi str1.

Biết được "triết lý" rồi thì bạn tự làm được thôi.

Tôi có đính kèm code của các hàm. Vd. bạn dùng hàm StringToUTF8String để chuyển chuỗi của bạn (unicode) thành UTF8, giả sử là chuỗi str1. Sau đó bạn đọc từng bai (ở dạng hex, tức vd. không phải là 97 mà là 61) của chuỗi str1 rồi ghép chúng với nhau thôi.

Dạ, thực sự hiện giờ mình không viết được. Hi vọng sau này cố gắng học hỏi thêm được kiến thức của các bạn thì sẽ may ra có thể ạ.
Cảm ơn đã giải thích cặn kẽ.
 
Upvote 0
Bạn có thể chỉ giúp hàm nào dịch xuôi hàm nào dịch ngược được không?
Xuôi là thế nào mà ngược là thế nào? Gậy có 2 đầu, và "đầu" nào cũng là "đầu", cũng đồng thời là "cuối".

UTF8 -> Unicode -> xuôi hay ngược? Tùy từng người mà nó là xuôi hay ngược.

Bạn nhìn mà không hiểu?

Vd. hàm Function UTF8ToUnicode(ByVal UTF8 As String) As String

Tham số vào là chuỗi UTF8 - ByVal UTF8 As String. Kết quả trả về cũng là chuỗi. Vậy theo bạn thì đây là dịch từ UTF8 sang Unicode hay dịch từ Unicode sang UTF8?
 
Upvote 0
Xuôi là thế nào mà ngược là thế nào? Gậy có 2 đầu, và "đầu" nào cũng là "đầu", cũng đồng thời là "cuối".

UTF8 -> Unicode -> xuôi hay ngược? Tùy từng người mà nó là xuôi hay ngược.

Bạn nhìn mà không hiểu?

Vd. hàm Function UTF8ToUnicode(ByVal UTF8 As String) As String

Tham số vào là chuỗi UTF8 - ByVal UTF8 As String. Kết quả trả về cũng là chuỗi. Vậy theo bạn thì đây là dịch từ UTF8 sang Unicode hay dịch từ Unicode sang UTF8?
Hí hí , dạ có lẽ là: UTF8 sang Unicode ạ
Cảm ơn bạn nhiều.
 
Upvote 0
Web KT
Back
Top Bottom