各位大大好
請問有沒有一種software , 可以同顯示txt file 的兩種encode,
找了很久也找不到
這是一定不可能的事。
所以不要想了。
但如果做拆解成兩份。倒還是有辦法做到。
只是現成的程式或是APP。目前沒有看到現成的。
還是只能人工。
只是顯示的話,是這樣嗎?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>編碼檢視</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
</head>
<body>
<div>
<input type="file" id="file">
</div>
<div class="container-fluid">
<div class="row">
<div class="col overflow-auto">
<h3>utf-8</h3>
<pre id="display-1"></pre>
</div>
<div class="col overflow-auto">
<h3>shift-jis</h3>
<pre id="display-2"></pre>
</div>
</div>
</div>
<script>
function decode2pre(buffer, codec, preId) {
let dec = new TextDecoder(codec);
document.getElementById(preId).textContent = dec.decode(buffer);
}
document.querySelector('#file').addEventListener('change', (evt)=>{
let file = evt.target.files[0];
let frd = new FileReader();
frd.onload=function() {
let buffer = frd.result;
decode2pre(buffer, 'utf-8', 'display-1');
decode2pre(buffer, 'shift-jis', 'display-2');
}
frd.readAsArrayBuffer(file);
});
</script>
</body>
</html>
要能夠編輯的話就改用 textarea
然後監聽變更事件
如果其中一邊變更,另一邊就同步再解碼一次更新...
只要顯示便足夠了, 請問大大這個我要用另存成網頁嗎?
剛剛測試了, 確實可以
但載入的檔案有UTF-8 和 SHJS 兩種, 會變怪獸文字
同一個文字檔用不同編碼開啟
大部分都會因為與原始編碼不相同而產生看不懂的符號
這是正常現象
如果這不符合你的預期
那也許你要把需求說得更清楚
或是你原先的想法有些是錯誤的
可能不需要同時用兩種編碼開啟檔案也能做到你想做的事