Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Cách chuyển UNICODE_STRING sang một dạng chuỗi khác?

  1. #1
    Ngày gia nhập
    04 2011
    Bài viết
    61

    Mặc định Cách chuyển UNICODE_STRING sang một dạng chuỗi khác?

    Có hàm RtlInitUnicodeString chuyển chuỗi sang UNICDE_STRING vậy làm sao để chuyển ngược lại Mình biết UNICODE_STRING chứa địa chỉ chuỗi và cả độ dài chuỗi nhưng mình làm hoài vẫn không được ? Mong mọi người giúp đỡ

  2. #2
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    WideCharToMultiByte
    => hàm này chuyển Unicode ( và nhiều wide character khác ) tới dạng kí tự multibyte.
    MultiByteToWideChar
    => hàm này chuyển dạng kí tự multibyte tới wide character.

  3. #3
    Ngày gia nhập
    04 2011
    Bài viết
    61

    Bạn có thể ví dụ cho mình không ?

  4. #4
    Ngày gia nhập
    09 2008
    Bài viết
    223

    Trích dẫn Nguyên bản được gửi bởi zeroplus Xem bài viết
    Bạn có thể ví dụ cho mình không ?
    UNICODE_STRING thực ra là 1 cấu trúc

    Visual C++ Code:
    1. typedef struct _LSA_UNICODE_STRING {
    2.   USHORT Length;
    3.   USHORT MaximumLength;
    4.   PWSTR  Buffer;
    5. } LSA_UNICODE_STRING, *PLSA_UNICODE_STRING, UNICODE_STRING, *PUNICODE_STRING;


    Buffer chính là kiểu WCHAR*, có thể dùng các hàm memcpy, wcscpy, wcsncpy để lấy ra
    Ân oán giang hồ nuôi tôi lớn
    Cuộc đời khốn nạn dạy tôi khôn
    Không đâm không chém đời không nể
    Không tiền không bạc gái không theo

    ----------------------
    Visit my blog: http://nova-soft.net/

  5. #5
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Visual C++ Code:
    1.     CFile file;
    2.     if (file.Open(L"C:\\Users\\XANA\\Desktop\\text.txt",CFile::modeWrite) == 0)
    3.     {
    4.         MessageBox(L"File chưa tồn tại",L"Thông báo",MB_OK);
    5.     }
    6.     else
    7.     {
    8.         CString cstrString = str_edit; // str_edit là biến mình gán vào edit control, nó chứa kí tự Unicode.
    9.         TCHAR tchChar[1024];
    10.         WideCharToMultiByte(CP_UTF8,0,cstrString,cstrString.GetLength(),(LPSTR)tchChar,cstrString.GetLength(),NULL,NULL);
    11.         file.SeekToEnd();
    12.         file.Write(tchChar,cstrString.GetLength());
    13.     }

    Trên là chuyển Unicode về 1 chuỗi.

    Mình thấy nhiều hàm có thể giúp bạn mà :
    Visual C++ Code:
    1. #include "Ntsecapi.h"
    2. #include "Winternl.h"
    3.  
    4. RtlUnicodeStringToAnsiString
    5. RtlUnicodeStringToOemString
    6. RtlUnicodeToMultiByteSize
    7. RtlUnicodeToUTF8N
    8. RtlUTF8ToUnicodeN
    Mà hàm RtlInitUnicodeString không phải là chuyển như bạn nói, nó khởi tạo 1 đối tượng có cấu trúc UNICODE_STRING chứ.

Các đề tài tương tự

  1. [C++]chuyển 1 kí tự của chuỗi sang số
    Gửi bởi dungtimtoinua2008 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 21
    Bài viết cuối: 22-12-2015, 02:34 AM
  2. Vấn đề chuyển chuỗi từ chữ hoa sang chữ thường và ngược lại
    Gửi bởi Boy_Great trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 31
    Bài viết cuối: 24-06-2011, 04:16 PM
  3. Chuyển chuỗi tiếng việt sang chuỗi số và ngược lại
    Gửi bởi saonam trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 18-06-2011, 07:28 AM
  4. Chuyển một chuổi sang hàm của c#
    Gửi bởi trungaqs trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 03-10-2009, 09:20 PM
  5. Chuyển một số sang chuỗi | Chuyển 1 số sang xâu ?
    Gửi bởi xuanhung_cntt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 03-05-2009, 11:48 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn