This paper studies angle-based sensor network localization (ASNL) in a plane, which is to determine locations of all sensors in a sensor network, given locations of partial sensors (called anchors) and angle constraints based on bearings measured in the local coordinate frame of each sensor. We firstly show that a framework with a non-degenerate bilateration ordering must be angle fixable, which implies that it can be uniquely determined by angles between edges up to translation, rotation, scaling, and reflection. Then we prove that an ASNL problem has a unique solution if and only if its grounded framework is angle fixable and anchors are not all collinear. Subsequently, ASNL is solved under centralized and distributed approaches, respectively. The noise-free centralized ASNL is formulated as a rank-constrained optimization problem, and shown to be equivalent to a linear semi-definite program (SDP) when the grounded framework is acute-triangulated. In order to deal with large and sparse ASNL, a decomposition strategy is proposed to recast the centralized ASNL as an SDP with semi-definite constraints on multiple submatrices in reduced sizes. The centralized ASNL considering noise is investigated via a maximum likelihood formulation, which can be formulated as a rank-constrained SDP with multiple semi-definite constraints. A distributed protocol based on inter-sensor communications is also proposed, which solves ASNL in finite time when the grounded framework has a non-degenerate bilateration ordering. Finally, simulation examples are provided to validate effectiveness of our theoretical analysis.