iT邦幫忙

0

關於2種encode同時顯示editor

  • 分享至 

  • xImage

各位大大好

請問有沒有一種software , 可以同顯示txt file 的兩種encode,

  1. shift-jis
  2. utf-8

找了很久也找不到

看更多先前的討論...收起先前的討論...
一份文件無法有兩種 ENCODE 的,但是很多軟體可以顯示不同的ENCODE檔案
例如 NOTEPAD++ 之類的
dophintil iT邦新手 4 級 ‧ 2022-04-12 16:27:51 檢舉
文件檔頭會藏有編碼資訊(這個檔案用什麼編碼開),
要換成另一種有轉碼的議題,所以應該不會有大大說的同時顯示兩種編碼?
如果大大想的是同時顯示例如中文+日文,應該也是遷就,例如UTF-8喔
(所以如果遇到不支援字集轉不過去就會亂碼)
froce iT邦大師 1 級 ‧ 2022-04-12 16:35:00 檢舉
自己寫一個啊...
把txt檔讀進去,然後用兩種不同編碼開兩次就好。
淺水員 iT邦大師 6 級 ‧ 2022-04-12 16:47:33 檢舉
檔頭不一定有編碼資訊喔
有些有BOM,有些沒有
cyris iT邦新手 5 級 ‧ 2022-04-12 16:51:18 檢舉
@froce大大, 就是不會寫
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0

這是一定不可能的事。
所以不要想了。

但如果做拆解成兩份。倒還是有辦法做到。
只是現成的程式或是APP。目前沒有看到現成的。
還是只能人工。

0
淺水員
iT邦大師 6 級 ‧ 2022-04-12 21:48:58

只是顯示的話,是這樣嗎?

<!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
然後監聽變更事件
如果其中一邊變更,另一邊就同步再解碼一次更新...

看更多先前的回應...收起先前的回應...
cyris iT邦新手 5 級 ‧ 2022-04-13 08:54:15 檢舉

只要顯示便足夠了, 請問大大這個我要用另存成網頁嗎?

cyris iT邦新手 5 級 ‧ 2022-04-13 08:58:59 檢舉

/images/emoticon/emoticon01.gif

cyris iT邦新手 5 級 ‧ 2022-04-13 10:11:58 檢舉

剛剛測試了, 確實可以
但載入的檔案有UTF-8 和 SHJS 兩種, 會變怪獸文字

淺水員 iT邦大師 6 級 ‧ 2022-04-13 12:52:50 檢舉

同一個文字檔用不同編碼開啟
大部分都會因為與原始編碼不相同而產生看不懂的符號
這是正常現象

如果這不符合你的預期
那也許你要把需求說得更清楚
或是你原先的想法有些是錯誤的
可能不需要同時用兩種編碼開啟檔案也能做到你想做的事

cyris iT邦新手 5 級 ‧ 2022-04-13 14:37:22 檢舉

我的說明太差了,
我的文字檔案裏, 有UTF-8 和shijs有這兩種編碼
想用一個編碼器, 把這兩種編碼一起能看
例如, 文檔裏的utf-8 強制轉換shijis而不影響本身在文檔裏的shijis編碼的字,反之亦然

淺水員 iT邦大師 6 級 ‧ 2022-04-13 15:18:48 檢舉

正常軟體產生的文字檔只會用一種編碼儲存
除非你自己弄一個特殊規格讓兩種編碼可以混用
(這種已經不算文字檔了)

如果要支援各國字元集,直接用 utf-8 就可以了
shijis 裡面的字 utf-8 都能表現出來

淺水員 iT邦大師 6 級 ‧ 2022-04-13 15:33:36 檢舉

或是你可以給個範例檔案?如果你覺得有哪個檔案是兩種編碼混合的話。

0

vscode就可以辦到了
底下有編碼重啟方式可以選擇
可以開多分頁與多視窗

我要發表回答

立即登入回答