VicoTas
Câu hỏi
avatar chicken
25/05/2013 20:36

Xin hỏi cách chuyển 1 ký tự Unicode 2 byte trong C# và VB.NET thành ký tự ASCII?



Danh sách câu trả lời (1)
avatar hoangdieu 25/05/2013 20:36
Cần lưu ý, bảng mã Unicode là sự nới rộng của bảng mã ASCII, nghĩa là 128 ký tự đầu trong bảng mã Unicode hoàn toàn giống với 128 ký tự mà bảng mã ASCII cung cấp, do đó không cần chuyển mã các ký tự này từ Unicode sang ASCII. Các ký tự còn lại của bảng mã Unicode (>=128) không tương đương với ký tự nào trong bảng mã ASCII nên không thể chuyển các ký tự này về bảng mã ASCII được.

Lưu ý khác là để dễ dàng lập trình ứng dụng đa ngôn ngữ, môi trường .Net (VB .Net, VC#, VJ#...) hỗ trợ trực tiếp bộ mã Unicode, thí dụ:

• Kiểu string miêu tả chuỗi các ký tự Unicode, mỗi ký tự dài 2 byte.
• Kiểu char[] miêu tả 1 dãy các phần tử, mỗi phần tử miêu tả 1 ký tự Unicode dài 2 byte.
Tóm lại trong môi trường .Net, bạn có thể miêu tả chuỗi ký tự bất kỳ, chuỗi này có thể chỉ là chuỗi ASCII cổ điển hay chuỗi các ký tự tiếng Hoa, tiếng Nhật, tiếng Việt Unicode...
Trong trường hợp muốn chuyển chuỗi (dạng Unicode 2 byte) về dạng 1 byte truyền thống, bạn có thể dùng đoạn code VB .Net (hay C#) sau:
Imports System.Text
...
'chuyển chuỗi (Unicode) sang dạng dãy byte
Dim uniBytes As Byte() = Encoding.Unicode.GetBytes("chuoi van ban kiem tra")
'chuyển dãy bytes Unicode về dãy ASCII
Dim ascBytes As Byte() = Encoding.Convert(Encoding.Unicode, Encoding.ASCII, uniBytes)
'mỗi phần tử ascBytes là 1 ký tự ASCII
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
Thu Trang Phương pháp lập trình lập lịch CPU theo kiểu round-robin?

Đăng lúc: 20:36 - 25/05/2013 trong Lập trình

lê văn nguyên Xin hướng dẫn lập trình C++ xuất file *.bmp ra màn hình?

Đăng lúc: 20:36 - 25/05/2013 trong Lập trình

nophoto Trong VB.Net 2005 làm sao để nắm bắt sự kiện khi nhấn ENTER thì focus nhảy từ textbox1 sang textbox2 và ngược lại?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

nophoto Lập chương trình nghe nhạc bằng VB 6.0, chương trình chạy tốt nhưng chạy một lúc thì bộ nhớ bị đầy và phát sinh lỗi rồi treo?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

nophoto Xin hướng dẫn lập trình bằng OCX của Windows Media Player 10 để chơi nhạc liên tục cho đến hết danh sách sẵn có?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

Hương Trong VB6 không tìm thấy Winsock trong thư viện Controls?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

Lê Thị Hoa Hồng Tôi tạo 1 smtp để gửi mail, gửi đi ok nhưng bên nhận không đọc được chữ Việt có dấu mặc dù đã chọn view/encoding/unicode?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

nophoto Làm thế nào để không cho người duyệt web lưu ảnh trong trang web bằng các cách: 1. File>Save as, 2. Nhấn phải chuột vào ảnh và chọn Save Picture?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

nophoto Có cách nào để hiển thị menu tiếng Việt trong chương trình VB mà không cần hiệu chỉnh font hệ thống của Windows không?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

nophoto Lập trình socket trong Linux, theo mô hình client-server, thiết lập đc kết nối từ client đến server nhưng ko biết làm sao cho client chat với client?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

nophoto Xin hướng dẫn cách đưa icon vào Command button (đã có text)?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

nophoto Xin hướng dẫn tạo đồng hồ chạy ngược bằng VC++ 6.0 MFC?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

Chip chip Có thể tạo ứng dụng .NET mà không lệ thuộc vào .NET Framework không?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

nophoto Xin hỏi có hàm API nào tự tạo ra cú click trái hay click phải chuột không?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

Đức Cảnh Anh/chị vui lòng giới thiệu giùm em vài website để tự học ngôn ngữ lập trình PHP?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

nophoto Tôi có thể tải JDK (Java Development Kit) ở website nào?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

Xuân Trọng Giúp tôi tìm thuật toán chuyển đổi âm lịch dương lịch??

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

nophoto Xin hỏi cách biên dịch và thực thi file *.c trên Linux?

Đăng lúc: 20:35 - 25/05/2013 trong Lập trình

Phương Tôi muốn chèn một số bức tranh (Picture) vào Form của chương trình VB6 VB6 lại thông báo lỗi như sau: “Path/File access error... ”?

Đăng lúc: 20:34 - 25/05/2013 trong Lập trình

nophoto Trong VB, làm sao để copy 1 hình từ pictureBox control sang image control?

Đăng lúc: 20:34 - 25/05/2013 trong Lập trình

Rao vặt Siêu Vip