前提・実現したいこと
Raspberry piでLinuxを扱っている者です。
現在、あるファイルの文字コードをASCIIからutf8もしくはshift_jisに変更することを目的としています。
これまでに試したこと
文字コードを変更するために、nkfやiconvを活用しましたが結果失敗し、文字コードを変更することができませんでした。
パターン1 $ iconv -f ascii -t shift_jis runtext.6 > runtext6_var2.py $ nkf --guess runtext6_var2.py ASCII (LF) パターン2 $ iconv -f ASCII -t SJIS runtext.6 -o SJIS.txt $ nkf --guess runtext.6 ASCII (LF) パターン3 $ nkf -s runtext.6 $ nkf --guess runtext.6 ASCII (LF)
文字コードを変更したいプログラム
python
1#!/usr/bin/env python 2# Display a runtext with double-buffering. 3# coding: shift_jis 4from samplebase import SampleBase 5from rgbmatrix import graphics 6import time 7import argparse 8import codecs 9 10class RunText (SampleBase): 11 def __init__(self, *args, **kwargs): 12 super(RunText, self).__init__(*args, **kwargs) 13 parser = argparse.ArgumentParser() 14 self.parser.add_argument("--textfile",default ="data.txt") 15 def run(self): 16 offscreen_canvas = self.matrix.CreateFrameCanvas() 17 font = graphics.Font() 18 font.LoadFont("../../../fonts/japanese-bitmap-fonts-0.4.5/shinonome16/sh nmk16b.bdf") 19 textColor = graphics.Color(0, 255, 255) 20 pos = offscreen_canvas.width 21 f = open('data.txt',encoding="shift_jis") 22 my_text = f.read()[0].rstrip('\n') 23 f.close() 24 while True: 25 offscreen_canvas.Clear() 26 len = graphics.DrawText(offscreen_canvas, font, pos, 20, textColor, my_text) 27 pos -= 1 28 if (pos + len < 0): 29 pos = offscreen_canvas.width 30 with codecs.open(self.args.textfile,encoding='shift_jis')as f: 31 my_text=f.readlines()[0].rstrip('\n') 32 time.sleep(0.05) 33 offscreen_canvas = self.matrix.SwapOnVSync(offscreen_canvas) 34 35 36# Main function 37if __name__ == "__main__": 38 run_text = RunText() 39 if (not run_text.process()): 40 run_text.print_open() 41
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。