関数的に書くなら、
端から生成して、端からx6の組み合わせで生成して、
端からUTF-8になってないバイト列を落とすフィルタを通す、
という感じで書くかな。