Simple Base64 Gif encoder

MEd 2006-02-23: Just a few lines of code to base64-encode an image (or any other file), I use it quite often for inline-gif images in my tcl-scripts. The generated code can be copied to clipboard and inserted in the script, the result may look like this:

button .b1 -image [image create photo -data {
    R0lGODlhEgASAIAAAAAAAP///yH5BAEAAAEALAAAAAASABIAAAIdjI+py+0G
    wEtxUmlPzRDnzYGfN3KBaKGT6rDmGxQAOw==}]
pack .b1

The following script requires Tcllib. Here we go:

package require Tk
package require base64

proc encode {} {
    .txt delete 1.0 end
    set fileID [open [tk_getOpenFile] RDONLY]
    fconfigure $fileID -translation binary
    set rawData [read $fileID]
    close $fileID
    set encodedData [base64::encode $rawData]
    .txt insert 1.0 $encodedData
}

proc clipcopy {} {
    clipboard clear
    clipboard append [.txt get 1.0 end]
}

wm title . {Base64 Gif Encoder}
text .txt -wrap none -font {Courier 10}
menu .mbar
. configure -menu .mbar
.mbar add command -label {Encode File}  -command encode
.mbar add command -label Copy2Clipboard -command clipcopy
.mbar add command -label Exit           -command {destroy .; exit} 

pack .txt -expand 1 -fill both

encode
### End of Script

EKB Also, I've got a more complicated Base64 Gif encoder on the Windows Application Framework page as an example of the framework.