2018年7月17日 星期二

Linux Zip file Big5中文問題

本篇文章參考自 G. T. Wang的文章 , 以及 samwhelp/book-ubuntu-qna 此兩篇應該是參考自Ubuntu社群討論區: 解壓縮zip檔,產生亂碼,如何解決的心得

因為常常遇到

所以乾脆記錄下來

自己忘記也可以翻找

常常在Windows壓縮zip檔案後

拿到Linux環境解壓縮會是亂碼

因為Windows利用Big5編碼將中文檔名壓縮

解壓縮時通常是用UTF-8的編碼解壓縮 

因為編碼不一樣所以解壓縮出來的檔名就變成亂碼

目前看到有兩種作法
(以下用Debian系列(Debian, Ubuntu, Mint, Lubuntu...)的系統做示範)

1. 第一種作法比較簡單直接用unzip設定編碼類型

首先先確定已經安裝了unzip

unzip -h

如果出現command not found 就安裝一下

sudo apt install unzip

安裝好後利用以下指令確認編碼是不是Big5

unzip -O big5 -l <target file>

target file請輸入想要解壓縮的檔案名稱

-l 代表示查看檔案內容而不解壓縮

如果可以看見正確的中文檔名代表的確是用big5編碼的

接下來就可以使用

unzip -O big5 <target file>

來解壓縮檔案

2. 另外也可以用convmv這個套件來將big5編碼的檔名轉換程UTF8

首先一樣確認convmv有無安裝

convmv --help

如果出現Command not found就安裝一下
sudo apt-get install convmv

利用unzip解壓縮zip檔為C語言編碼

LANG=C unzip <target file>

LANG=C代表使用C語言的 ASCII code方式編碼
(也可以把LANG=C 改成 LANG=zh_TW.Big-5)
target file為你要解壓縮的檔案名稱

解壓縮完之後再用convmv來轉換編碼

convmv -f big5 -t utf8 -r --notest *

2018年7月15日 星期日

使用Kivy實作資料夾同步工具 --- 3. 設計UI 界面

Kivy的UI界面可以利用kv language來實作

kv language的副檔名為.kv

這是目前我想到的UI界面


folder_syncer.kv



app.py



2018年7月8日 星期日

在Blogger使用gist顯示程式碼

在Blogger上因為沒有markdown的格式資源

使得要顯示程式碼需要不少麻煩步驟才能達成

一開始嘗試的是StackEdit , 但發現他發佈文章的方式不是我想要的

後來發現自己常用的GitHub中的gist就可以輕鬆的嵌入程式碼在Blogger中

以下是簡單的教學

先在GitHub註冊後

登入 https://gist.github.com/
應該可以看到這個畫面


最上方是這個gist的描述

第二格是檔名

然後再下來的大格子就是放上你的程式碼

填好之後就像這樣


之後按下右邊的 "Create public gist"
(意思是大家都可以公開的看到這份程式碼)

點完之後會看到這個畫面


在右上方Download ZIP的左邊有個Embed區塊
右邊的
 圖案代表複製到剪貼簿

然後到你的Blogger準備發新文章


為了方便辨認哪個區塊放了gist 我先增加了兩行字
然後按左上角紅框的地方
會看到像下面這樣


把剛剛複製的gist貼上


然後按右上方的預覽確認看看

看到中間有程式碼就是完成囉~


2018年7月6日 星期五

使用Kivy實作資料夾同步工具 --- 2. 小試身手 First Application

接下來是我們的第一個App

(參考自官方的手冊)

我們先新增一個檔案名叫main.py

以下為檔案內容



















import kivy
kivy.require('1.10.0') # replace with your current kivy version !

from kivy.app import App
from kivy.uix.label import Label


class Hello_world(App):

def build(self):
return Label(text='Hello world')


if __name__ == '__main__':
Hello_world().run()



用 python3 main.py執行檔案

即可看到以下畫面

右下角即為我們第一個Hello World App

使用Kivy實作資料夾同步工具 --- 1. 在Ubuntu下安裝Kivy

這一系列的文章是源自於自己學校的作業檔案太多
不同台電腦要搬東西的時候麻煩
所以乾脆自己寫一個工具來用

會選Kivy來用的原因是因為他是開源的
因為支持開源文化  而且省麻煩
發現有bug也可以自己改

以下進入正題~

首先先安裝Python3的pip 以及一些相依的套件

sudo apt install  -y python3-pip build-essential git ffmpeg libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libportmidi-dev libswscale-dev libavformat-dev libavcodec-dev zlib1g-dev

如果要有音樂跟影片的功能的話要安裝(我也不懂  總之就先裝了)

sudo apt-get install -y     libgstreamer1.0     gstreamer1.0-plugins-base     gstreamer1.0-plugins-good

然後把pip wheel更新到最新版本

sudo python3 -m pip install --upgrade pip wheel setuptools

以下為安裝kivy v1.10.0的流程
若版本不一樣  請自行參照官方文件來安裝

然後安裝 Cython 25.0.2  (根據官方手冊)

sudo python3 -m pip install Cython==0.25.2

然後安裝kivy

sudo python3 -m pip install kivy==1.10.0

確認安裝完成

python3 -c 'import kivy'

可以看到類似下圖的結果


會看到倒數第三行有

[INFO   ] [Kivy        ] v1.10.0
如果版本跟你安裝的一樣就是完成了~



Go lang 學習筆記 - 17 Pointers

``` package main import "fmt" func zeroval(n int) {         n = 0 } func zeroptr(n *int) {         *n = 0 } func main() {         ...