Xem Bút JavaScript Chuyển đổi định dạng thập lục phân sang ASCII - string-ex-28 của w3resource (@w3resource) trên CodePen
Cải thiện giải pháp mẫu này và đăng mã của bạn qua Disqus
Trước. Viết hàm JavaScript để chuyển đổi ASCII sang định dạng thập lục phân.
Tiếp theo. Viết một hàm JavaScript để tìm một từ trong một chuỗi.
Mức độ khó của bài tập này là gì?
Dễ dàng trung bình khóKiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
JavaScript. Lời khuyên trong ngày
Viết các vòng lặp ngắn hơn với các phương thức mảng
const prices = ['1.0', 'negotiable', '2.15']; const formattedPrices = []; for (let i = 0; i < prices.length; i++) { const price = parseFloat(prices[i]); if (price) { formattedPrices.push(price); } } console.log(formattedPrices);Thay vì đoạn mã trên, chúng ta có thể nhận được hiệu ứng tương tự từ ba dòng bên dưới bằng cách sử dụng phương thức bản đồ. Phương thức này tạo ra một mảng có kích thước tương đương chỉ với thuộc tính giá. Sau đó, chúng tôi nhận các giá trị thả nổi của giá đó bằng cách sử dụng parseFloat
$data = "50726F6772616D6D696E6720416C676F726974686D73"; $value = HexadecimalToASCII($data); 1
$data = "50726F6772616D6D696E6720416C676F726974686D73"; $value = HexadecimalToASCII($data); 2
$data = "50726F6772616D6D696E6720416C676F726974686D73"; $value = HexadecimalToASCII($data); 3
$data = "50726F6772616D6D696E6720416C676F726974686D73"; $value = HexadecimalToASCII($data); 4
$data = "50726F6772616D6D696E6720416C676F726974686D73"; $value = HexadecimalToASCII($data); 5
Thuật toán này chuyển đổi số thập lục phân thành mã ASCII
function HexadecimalToASCII($hex) { $ascii = ""; $hexLen = strlen($hex); for ($i = 0; $i < $hexLen; $i += 2) { $ascii .= chr(HexadecimalToDecimal(substr($hex, $i, 2))); } return $ascii; } function HexadecimalToDecimal($hex) { $hex = strtoupper($hex); $hexLength = strlen($hex); $dec = 0; for ($i = 0; $i < $hexLength; $i++) { $b = ord($hex[$i]); if ($b >= 48 && $b <= 57) $b -= 48; else if ($b >= 65 && $b <= 70) $b -= 55; $dec += $b * pow(16, (($hexLength - $i) - 1)); } return (int)$dec; }Ví dụ
$data = "50726F6772616D6D696E6720416C676F726974686D73"; $value = HexadecimalToASCII($data);đầu ra
Programming AlgorithmsVới chuỗi giá trị thập lục phân làm đầu vào, nhiệm vụ là chuyển đổi chuỗi giá trị thập lục phân đã cho thành chuỗi định dạng ASCII tương ứng của chúng
ví dụ.
Input: 6765656b73 Output: geeks Input: 6176656e67657273 Output: avengersKhuyến khích. Vui lòng thử cách tiếp cận của bạn trên {IDE} trước, trước khi chuyển sang giải pháp
Hệ thống đánh số "Hexadecimal" hoặc đơn giản là "Hex" sử dụng hệ thống Base of 16. Là một hệ thống Base-16, có thể có 16 ký hiệu chữ số. Số thập lục phân sử dụng 16 ký hiệu {0, 1, 2, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} để biểu diễn tất cả các số. Ở đây, (A, B, C, D, E, F) đại diện cho (10, 11, 12, 13, 14, 15).
ASCII là viết tắt của Mã tiêu chuẩn Mỹ để trao đổi thông tin. ASCII là một tiêu chuẩn gán các chữ cái, số và các ký tự khác trong 256 vị trí có sẵn trong mã 8 bit. e. g ký tự “h” viết thường (Char) có giá trị thập phân là 104, là “01101000” ở dạng nhị phân và “68” ở dạng thập lục phân.
Để biết thêm các giá trị ASCII, hãy tham khảo BẢNG ASCII.
thuật toán.
- Khởi tạo chuỗi ascii cuối cùng là trống
- Trích xuất hai ký tự đầu tiên từ chuỗi thập lục phân được lấy làm đầu vào
- Chuyển đổi nó thành số nguyên cơ số 16
- Truyền số nguyên này thành ký tự ASCII tương đương với 2 ký tự hex
- Thêm ký tự này vào chuỗi cuối cùng
- Trích xuất hai ký tự tiếp theo từ chuỗi thập lục phân và chuyển sang bước 3
- Làm theo các bước sau để trích xuất tất cả các ký tự từ chuỗi thập lục phân
Thực hiện
C++
$data = "50726F6772616D6D696E6720416C676F726974686D73"; $value = HexadecimalToASCII($data); 6
$data = "50726F6772616D6D696E6720416C676F726974686D73"; $value = HexadecimalToASCII($data); 7
$data = "50726F6772616D6D696E6720416C676F726974686D73"; $value = HexadecimalToASCII($data); 8
$data = "50726F6772616D6D696E6720416C676F726974686D73"; $value = HexadecimalToASCII($data); 9 Programming Algorithms 0 Programming Algorithms 1
Programming Algorithms 2
Programming Algorithms 3
geeks0geeks1
geeks0geeks3geeks4geeks5
geeks0_______57 geeks42geeks43 geeks44____58 Programming Algorithms 24____547geeks48geeks49 Programming Algorithms 26geeks51