stat (GNU coreutils) 8.5

the format string length is counted in bytes and not in characters so that the presence of variable length characters causes misalignment

In the following example the character 'é' is 2 bytes long : 
$ find . | while read P; do LANG=C stat --printf '%16F 0x%f\n' "$P"; done
       directory 0x41ed
   symbolic link 0xa1ff
    regular file 0x81f6
$ find . | while read P; do LANG=fr_BE.UTF-8 stat --printf '%16F 0x%f\n' "$P"; done
     répertoire 0x41ed
 lien symbolique 0xa1ff
         fichier 0x81f6