Skip to content

Instantly share code, notes, and snippets.

@oakbow
Last active December 28, 2015 04:19
Show Gist options
  • Save oakbow/7442001 to your computer and use it in GitHub Desktop.
Save oakbow/7442001 to your computer and use it in GitHub Desktop.
shorten UTF-8 character string to fit bytes which length you want. 
original_file_extension = File.extname(@original_filename)
#@original_filename = File.basename(@original_filename)
@original_filename.force_encoding("ascii-8bit")
pp "ascii"
pp @original_filename
@original_filename = @original_filename[0, (configatron.uploadfilename.bytesize - original_file_extension.bytesize)]
pp "slice"
pp @original_filename
@original_filename.encode!("UTF-16BE", "UTF-8", :invalid => :replace, :undef => :replace, :replace => '')
@original_filename.encode!("UTF-8")
pp "utf-8"
pp @original_filename
@original_filename += original_file_extension
pp "bytesize"
pp @original_filename.bytesize
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment