Extending $C \cong C \times C$ to the Space-Filling Curve $[0,1] \cong [0,1]^2$ Setting: Let $C$ denote the Cantor Set.  I have already shown that $C \cong \prod_{i=1}^\infty \{0,2\}_i$, and make use of this fact below.
Goal: Show that $C \cong (C \times C)$, and then use this fact to generate a Space-Filling Curve $s: [0,1] \rightarrow [0,1]^2$.
Attempt to Show $C \cong (C \times C)$:


*

*First we consider the function 
$$
g: C \rightarrow \prod_{i=1}^\infty \{0,1\}_i
$$
defined by 
$$
g(c) = g\left(\sum_{n \ge 1} a_n / 3^n\right) = \left\langle a_1/2, a_2/2, \ldots \right\rangle \in \prod_{i=1}^\infty \{0,1\}_i
$$
which yields a homeomorphism between $C$ and $\prod_{i=1}^\infty \{0,1\}_i$ (I've shown this elsewhere).

*From the above definition of $g$, we then define the map 
$$
G: C^2 \rightarrow \left(\prod_{i=1}^\infty \{0,1\}_i \right)^2
$$
as 
$$
G(c,d) = \left(g(c),g(d)\right)
$$
and observe that $G$ yields us a homeomorphism between $C^2$ and $\left(\prod_{i=1}^\infty \{0,1\}_i\right)^2$. (Why?)

*Then consider the following chain of homeomorphism relations:
$$
C \cong\prod_{i=1}^\infty \{0,2\}_i \text{ via assumption }
$$ 
$$
\prod_{i=1}^\infty \{0,2\}_i \cong \prod_{i=1}^\infty \{0,1\}_i \text{ via a simple renaming map (all $2$'s map to $1$'s within each coordinate)}
$$
$$
\prod_{i=1}^\infty \{0,1\}_i \cong \left(\prod_{i=1}^\infty \{0,1\}_i\right)^2 \text{ via Cantor's classical result from calculus/real analysis}
$$
$$
\left(\prod_{i=1}^\infty \{0,1\}_i\right)^2 \cong C \times C \text{ via } G = g \times g: C^2 \rightarrow \left(\prod_{i=1}^\infty \{0,1\}_i\right)^2 \text{ defined above}
$$
so that finally we have -- by the transitivity of $\cong$ -- that $C \cong C \times C$ as desired.
Question 1: Why exactly is $G$ a homemorphism (in particular, why is it a continuous and open mapping)?
Question 2: Now that we have $C \cong C \times C$, how do we rigorously extend this map into a space-filling curve $s: [0,1]\rightarrow [0,1]^2$?
 A: If $g$ is a homeomorphism between $X$ and $Y$ then $G = g \times g$ is a homeomorphism between $X \times X$ and $Y \times Y$:
$G$ is clearly a bijection whenever $g$ is, and $G$ is continuous, because if $U \times V$ is a basic open subset of $Y \times Y$, $G^{-1}[U \times V] = g^{-1}[U] \times g^{-1}[V]$, which is (basic) open in $X \times X$. And $G$ is open because if $U \times V$ is basic open in $X \times X$, $G[U \times V] = g[U] \times g[V]$, which is open in $Y$, as $g$ is an open map. It suffices to check openness of a map on basic elements, because function image and unions commute. So $G$ is open, and so a homeomorphism.
You already know that $C \cong \{0,1\}^\mathbb{N}$. The latter product can be split into a product of the even and the odd coordinates (which are both countably infinite) and standard arguments on product spaces show that mapping a point to its pair of odd-even coordinate sequences is a homeomorphism between $\{0,1\}^\mathbb{N}$ and $\{0,1\}^\mathbb{N} \times \{0,1\}^\mathbb{N}$, so indeed by transitivity we have $C \cong C \times C$.
We have the so-called Cantor function $F:C \mapsto [0,1]$, which is continuous and onto.
So taking compositions between the homeomorphism $G: C \mapsto C \times C$ and the continuous $F \times F$ we get a continuous map from $C$ onto $[0,1] \times [0,1]$. Now the Tietze extension theorem says (because $C$ is closed in $[0,1]$ and $[0,1]$ is normal) we can extend this latter map to a continuous and still onto map from $[0,1]$ to $[0,1] \times [0,1]$, i.e. a space-filling curve.
